本帖最后由 程小龙 于 2012-4-11 18:34 编辑
catch语句可以有多个,用来匹配多个异常,匹配上多个中一个后,执行catch语句块时候仅仅执行匹配上的异常。catch的类型是Java语言中定义的或者程序员自己定义的,表示代码抛出异常的类型,异常的变量名表示抛出异常的对象的引用,如果catch捕获并匹配上了该异常,那么就可以直接用这个异常变量名,此时该异常变量名指向所匹配的异常,并且在catch代码块中可以直接引用。这一点非常非常的特殊和重要!
多个catch块时候,Java虚拟机会匹配其中一个异常类或其子类,就执行这个catch块,而不会再执行别的catch块。
虽然我们catch(Exception e){}可以捕获所有异常,为什么要写多个catch块进行多级处理?
是为了便于对不同类型的异常做出不同类型的处理。
为了记录异常类型,做进一步的日志记录以及以后查询。
异常处理框架的设计,以便展示给用户更多的错误信息。
|