黑马程序员技术交流社区

标题: 关于异常,有个疑问 [打印本页]

作者: 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