黑马程序员技术交流社区
标题:
关于异常,有个疑问
[打印本页]
作者:
Rockray
时间:
2013-10-25 15:44
标题:
关于异常,有个疑问
看毕向东老师的自学视频的时候,
毕老师介绍异常的概念时,说:“
异常,就是指程序在运行时出现不正常的情况
”
我的理解时,异常是运行时发生的,只有运行时发生的才是异常,也就是编译时不发生。
但后面学到 RuntimeException ,感觉概念有点混淆了,
学RuntimeException 时,
说异常分为两种:
编译时检测的异常我理解为编译异常,另一个就是运行时异常
。
感觉跟最初异常的概念混淆啊,不是运行时发生的才是异常么
作者:
漫步人
时间:
2013-10-25 16:30
10 异常的分类
Throwable
|--Error 是系统不可恢复的错误,由JVM发生
| |--OutOfMemoryError 堆内存溢出
| |--StackOverflowError 栈内存溢出
|--Exception 程序可以检查处理的异常,常见的异常继承根
|--java.text.ParseException format解析对象时候发生
| 如:Date d = dateformat.parse("2013-10-25");
|--RuntimeException 非检查异常,Javac忽略对
| 这类异常的语法检查,如:异常抛出,异常处理等。
|--IllegalArgumentException
|--NullPointerException *
|--ArrayIndexOutOfBoundsException *
|--ClassCastException *
|--NumberFormatException * Integer.parseInt()
作者:
王飚
时间:
2013-10-25 16:58
对于异常:分两种:
1,编绎时被检测的异常(也就是说这个异常是可以被处理的)
2,编绎时不被检测的异常(运行时异常,RuntimeException及其子类);
RuntimeException比较的特殊,因为这类异常在编绎时不检测,并且也不需要方法将该异常抛出,因为若是出现RuntimeException那么jvm建议程序停止运行,也不需要调用方法对其进行捕获;
作者:
Rockray
时间:
2013-10-26 08:31
本帖最后由 Rockray 于 2013-10-26 08:41 编辑
。。。。。
作者:
回天之力
时间:
2013-11-3 10:08
我的理解是这样的,分享一下:编译异常是一些在你考虑的范围之内,并且自己可以通过写代码进行处理。
运行时异常,即为在编译时对它通过,但是在jvm运行时,如果放生异常,就交由jvm处理,停止运行,要求程序员进行修改代码。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2