语言根据错误性质将运行错误分为两类:异常和错误。
语言认为那些可预料和不可预料的出错称为
中标准异常的顶级父类是
类中有两个子类和
错误:
错误程序没法处理,例如内存泄漏;所有错误都是类的直接或间接子类。
包括一些严重的程序不能处理的系统错误类,如内存溢出、虚拟机错误、栈溢出等。
这类错误一般与硬件有关,与程序本身无关,通常由系统进行处理,程序本身无法捕获和处理。
异常:
在程序运行时不正常的事件;如果程序员处理异常,程序可以继续执行;
所有异常都是类的直接或间接子类。
为了保证程序的健壮性,Java要求必须对这些可能出现的异常进行捕获,并对其进行处理。
分类:
运行期异常 = 非检查异常:
的子类;
这些异常在编译期不检测,程序中可以选择处理,也可以不处理
如果不处理运行时会中断,但是编译没问题
非运行期异常 = 检查异常:
其他的子类
是必须进行处理的异常,如果不处理,将发生编译期错误
常见的运行期异常:
空指针异常:
注意如果调用不会发生空指针异常;因为“”不等于null
数组下标越界异常:
类转换异常:
数字格式异常:
算数异常:
处理异常
不能单独使用,可以跟上或者是;可以是和;或者和。
可以同时使用,但是父子关系的,子类型方法前边。
可以使用多个,最多只有一个。
自定义异常:
一般自定义异常类中不写其他方法,只重载必要的构造方法
可以用抛出自定义异常对象,使用声明自定义异常类型
领取专属 10元无门槛券
私享最新 技术干货