A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Rockray 高级黑马   /  2013-10-25 15:44  /  945 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看毕向东老师的自学视频的时候,
毕老师介绍异常的概念时,说:“异常,就是指程序在运行时出现不正常的情况
我的理解时,异常是运行时发生的,只有运行时发生的才是异常,也就是编译时不发生。
但后面学到 RuntimeException ,感觉概念有点混淆了,
学RuntimeException 时,
说异常分为两种:编译时检测的异常我理解为编译异常,另一个就是运行时异常
感觉跟最初异常的概念混淆啊,不是运行时发生的才是异常么

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

4 个回复

倒序浏览
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()

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
对于异常:分两种:
1,编绎时被检测的异常(也就是说这个异常是可以被处理的)
2,编绎时不被检测的异常(运行时异常,RuntimeException及其子类);
RuntimeException比较的特殊,因为这类异常在编绎时不检测,并且也不需要方法将该异常抛出,因为若是出现RuntimeException那么jvm建议程序停止运行,也不需要调用方法对其进行捕获;

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 Rockray 于 2013-10-26 08:41 编辑

。。。。。
回复 使用道具 举报
我的理解是这样的,分享一下:编译异常是一些在你考虑的范围之内,并且自己可以通过写代码进行处理。
运行时异常,即为在编译时对它通过,但是在jvm运行时,如果放生异常,就交由jvm处理,停止运行,要求程序员进行修改代码。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马