比方说你负责写一个数据库处理的类,在碰到一些意外情况的时候,比如说连接失败,怎么处理异常呢?你也许会想把这些错误信息直接显示出来告诉用户。但是你并不负责用户界面部分的编写,所以你没有办法处理这个异常,这个时候,只能将异常抛出:throw new Execption("连接失败拉!");,那么负责写用户界面的人就可以捕获你抛出的这个异常,随便他怎么显示给用户,,比如说可以采取弹出一个对话框,也可以在状态栏里面显示出来,或者忽略掉,具体怎么办你就可以不用管了。

解决方案 »

  1.   

    1.出行非致命错误时
    2.不同的异常用不同的异常类处理(所有的异常类都派生于Exception)
    3.例如:
        if.......//异常
       throw XXException//抛出异常!
      

  2.   

    多谢各位,但有点想问的就是,如果一个类,抛出了一个异常,但调用它的类或程序也没有处理相应的异常,如此类推,到总的调用起始点都没有处理异常,这个时候怎么办,是不是压根程序就会在运行的时候出错什么的。还有,我怎么熟悉处理异常的类呢,比如要连接一个数据库,我怎么知道这其中会出现什么样的异常,而我该捕获什么样的异常类呢,除了找文档帮助,在学习的过程中还有什么样的方法和思路来熟悉这些异常呢(比如,在连接数据库的时候,可能是数据库认证出错,也可能是物理连接有错,要么就是程序等的错误,而不同的错误类型,我想,进行捕获的方式也不同吧,而且,如果疏忽了一点,也就是没考虑到出错的原因,而一但出了错,没CATCH,也没THROW,那可怎么办,而一般程序中,这样的地方应该很多呀!一般是怎么处理的)
      

  3.   

    如果你没有处理异常,最后会被系统捕获,也就是负责运行你程序的那个application,他往往会直接弹出一个不怎么友好的警告对话框:“数据库连接出错”!
    确实有很多种异常。但是他们都继承自一个父类:Exception,无论你捕获了什么异常,使用这个类都能够处理,但是,如果你想进行一些更复杂的异常处理的话,只有采用特殊的异常子类,或者你干脆写一个自己的异常类。