异常类
异常:程序执行出现的错误。
Java对于异常内容进行了区分和设置类型,我们把这种内容叫做异常类。异常类中异常是继承关系。
在Java类中,给我们提供了两种异常类:Exception、Error。
Exception:程序运行时异常,这种异常程序给我们提供了解决办法 try catch。
Error:JVM异常,程序无法处理,大多是程序员编写不符合Java规范。
常见异常
java.lang.ArithmeticException 算数逻辑异常
java.lang.ArrayIndexOutOfBoundsException 下角标越界异常
java.lang.NullPointerException 访问成员为空
java.lang.ClassCastException类型转化异常
java.util.InputMismatchException 输入数据类型异常
自定义异常类
在开发中,可以认为的设置异常。
自定义异常必须为类,而且继承Exception或RuntimeException。
class MyException extends Exception{
public MyException() {}
//Exception(s),当发生该异常时,打印s异常信息。
public MyException(String s) {
super(s);
}
}
受检查异常和不受检查异常
受检查异常编译器在编译期间检查。对于这种异常,方法强制处理或者通过throws子句声明。其中一种情况是Exception的子类但不是RuntimeException的子类。
非受检查是RuntimeException的子类,在编译阶段不受编译器的检查。
try catch
try catch 解决异常
如果try里可能出现多种异常,catch该怎么办?
可以通过catch里的异常类别区分,发生什么异常就去执行哪个catch语句,类似于switch中的case语句
try{
//可能出现异常的语句
}catch(异常类 异常类对象){
//异常处理语句
}finally{
//一定会执行的语句!
}
throw和throws
throw用于抛出java.lang.Throwable类的一个实例化对象,意思是说可以同过关键字throw抛出一个Error或者一个Exception。
throws的作用是作为方法声明和签名的一部分,方法被抛出相应的异常以便调用者能处理。Java中,任何未处理的受检查异常强制在throws子句中声明。
#