异常分类及处理
Throwable 是 java 语言中所有错误或异常的最顶级的类,下级为 Error 和 Exception。
- Error:java 运行时系统的内部错误和资源耗尽错误,不是应用程序抛出的错误。
- Exception
- RuntimeException:运行时异常,程序错误。
- CheckedException:检查异常,编译阶段错误,
// 常见异常:
- NullPointerException
- ClassCastException
- ArithmeticException
- ArrayIndexOutOfBoundsException
- IllegalArgument Exception
- ClassCastException
- FileNotFoundException
- NumberFormatException
- NoSuchMethodException
- IOException
- SQLException
- ……
异常处理方式
- throw
public static void main(String[] args) {
String s = "abc";
if(s.equals("abc")) {
throw new NumberFormatException();
}else {
System.out.println(s);
}
}
- throws
public int div(int a, int b) throws Exception{
return a/b;
}
- try catch 捕获异常
Throw 和 throws 的区别
位置不同
- throws 在方法上,后面跟异常类,可以多个。throw 在方法内使用,抛出异常对象。
功能不同
- throws 用来声明异常,可能出现异常。throw 抛出具体的问题对象,跳转到调用者,并将具体的问题对象抛给调用者。
- throws 表示可能出现异常。throw 一定抛出异常对象。