脚本宝典收集整理的这篇文章主要介绍了【134天】尚学堂高淇Java300集视频精华笔记(73),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
【134天】尚学堂高淇Java300集视频精华笔记(73)
第73集:常见异常分类异常简单处理
异常分类
JDK中定义了很多异常类,这些类对应了各种各样可能出现的异常事件,所有异常对象都是派生于Throwable类的一个实例。如果内置的异常类不能够满足需要,还可以创建自己的异常类。
Error
Error类层次描述了Java运行时系统内部错误和资源耗尽错误。这类错误是我们无法控制的,同时也是非常罕见的错误。所以在编程中,不去处理这类错误。
打开JDK的:java.lang.error,查看他的所有子类。
Error和Exception的区别
我开着车走在路上,一头猪冲在路中间,我刹车。这叫一个异常。我开着车在路上,发动机坏了,我停车,这叫错误。系统处于不可恢复的崩溃状态。发动机什么时候坏?我们普通司机能管吗?不能。发动机什么时候坏是汽车厂发动机制造商的事。
Exception
所有异常类的父类,其子类对应了各种各样可能出现的异常事件。
Runtime Exception
-
Runtime Exception(unchecked Exception)
出现RuntimeException就一定是你的问题,可以不捕获,因为小心点这些异常是可以避免的。 派生于RuntimeException的异常。是一类特殊的异常,如被 0 除、数组下标超范围等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序可读性和运行效率影响很大。因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。这类异常通常是由编程错误导致的,因为只要小心点,这些异常都是可以避免的,所以在编写程序时,并不要求必须使用异常处理机制来处理这类异常,所有这类异常都继承自java.lang.RuntimeException。
注意:RuntimeException这个名字很容易让人产生错误影响。事实上,我们这里讨论的所有Error、Exception都是运行时发生的。
-
常见RuntimeException
-
ArIThmeticException
if(b!=0){ int i = 1/b; } else { System.out.PRintln("不能用0做除数!"); }
-
NullPointException
当程序访问一个空对象的成员变量或方法,访问一个空数组的成员时发生。
//testException te = null; TestException te = new TestException(); if(te!=null){ te.test1(2); }
-
ClassCastException
void test2(Object obj){ if(obj instanceof Man){ Man man = (Man) obj; } }
-
ArrayIndexOutOfBoundsException
访问的元素下标超过数组长度。
int[] a = {1,2,3}; int idx = 3; if(idx<=a.length-1){ System.out.println(a[idx]); }
-
NumberForMATException
数字格式异常
String str = "1234abcf"; Integer i = new Integer(str); //Integer i2 = Integer.parseint(str);
Checked Exception
以上是脚本宝典为你收集整理的【134天】尚学堂高淇Java300集视频精华笔记(73)全部内容,希望文章能够帮你解决【134天】尚学堂高淇Java300集视频精华笔记(73)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。