[Java] Java throws exception例外处理

Java throws exception例外处理


原先一直以为只要function有throws Exception, 引用该function的程序都一律要用try...catch...处理该Exception, 实践后再加上看了良葛格http://openhome.cc/Gossip/JavaGossip-V1/ExceptionHierarchy.htm的文章,  才发现原来不是这么一回事!

节录部分该篇文章内容如下:

属于RuntimeException衍生出来的类,是在执行时期会发生的,不需要特别使用try-catch或是在函数上使用"throws"声明也 可以通过编译,例如您在使用数组时,并不一定要处理ArrayIndexOutOfBoundsException例外。(如图一)

Exception下非RuntimeException衍生之例外如果有引发的可能性,则您一定要在程序中明确的指定处理才可以通过编译,例如当您使用 到BufferedReader类时,由于有可能引发IOException,您要不就在try-catch中处理,要不就在函数上使用throws表 示由调用它的函数来处理。(如图二)

[图一] ArithmeticException 为RuntimeException

[图一] ArithmeticException 为RuntimeException

[图二] IOException 为非RuntimeException, 出现编译错误

[图二] ArithmeticException 为非RuntimeException, 出现编译错误

~ 动手作, 得真知 ~