黑马程序员技术交流社区
标题:
希望讲解一下异常处理RuntimeException和其他的异常
[打印本页]
作者:
╭﹀*棒棒
时间:
2013-7-25 20:22
标题:
希望讲解一下异常处理RuntimeException和其他的异常
本帖最后由 杨兴庭 于 2013-7-25 23:22 编辑
try{能发生问题的代码块}
catch()
{}
希望了解一下:Exception
|--RuntimeException
|-其他子类
这两种区别,一直搞混,能不能用简单易懂的方法介绍一下,Error我知道是错误,没办法处理的。
作者:
の放下执著
时间:
2013-7-25 20:49
Exception是编译时被检测的异常,是可以处理的,当一个方法有Exception或者其子类时,要么try catch, 要么throws继续抛出去,否则会编译失败。
RuntimeException是运行时异常,编译不被检测,(一般都是要求程序员改代码的),如果在函数内抛出改异常或者子类,函数上可以不用声明,编译一样会通过;
如果函数上声明了该异常,调用者也可以不处理,编译一样通过,但是不是RuntimeException或者其子类就不行了,,要么try catch, 要么throws继续抛出去,否则会编译失败。
作者:
Mr_Free
时间:
2013-7-25 20:53
本帖最后由 Mr_Free 于 2013-7-25 21:09 编辑
一般的异常在函数内抛,必须在函数上声明,否则编译失败。
RuntimeException 及其子类在函数内抛,不需要在函数上声明,编译一样通过。如果在函数上声明了该异常,调用可以不用进行处理。
为什么不声明?就是为了让他不处理这个异常。当该异常发生,希望该程序停止,在运行时,出现了无法处理的问题,希望程序停止后,程序员修正代码。
补充一下:RuntimeException 属于运行时异常,就是在编译时后不会被检测到的异常。所以不用声明,编译也会通过。而一般的exception是编译时异常,就是在编译的时候就必须被处理(或者throw或者try)的异常。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2