首先我觉得:“异常”和“未对程序中所有分支流程进行处理” 是有区别的,例如:
除数为0的异常,这种情况是应该在程序中考虑的一种情况,而不应该作为异常处理。当然还有空指针引用异常等等,这些异常都应该属于“未对程序中所有分支流程进行处理” 的范畴。
而“异常”我理解的是:你已经对你程序中你所能做到、所能控制的流程都已经处理了,但还有一些漏洞,比如数据库连接,可能程序出现错误是因为物理连接断了,这时可以使用try catch finally。不知道这样理解对不对?还有自定义异常,我理解的是:知道会发生什么特殊状况,然后根据这个特殊状况定义异常,并在catch中进行处理。  我不明白的是:既然知道会发生什么状况,为什么不在程序中作为一个分支进行处理呢?自定义异常到底有什么用呢?最后请各位高手总结一下什么时候才使用异常!谢谢!!~~~

解决方案 »

  1.   

    采用异常结构可以捕获非预期的错误,针对不同的异常进行相应处理,其实在try catch finally中也经常用到分支结构来处理,关键在于可以把异常控制在合适的范围内,不影响整个程序的运行。
      

  2.   

    异常有时候是很有用的,比如说判断一个输入是否只能包含数字,要是正常判断的话就比较复杂,而要用异常就很简单了:
    try{把变量转换成整型} 
    catch{输入的不是一个数字} 如果转换失败,抛出异常,说明输入包含非法字符