Java的异常
1.异常分类
2.异常的体系结构
3.Error
4.Exception
5.异常处理机制
抛出异常
捕获异常
异常处理的五个关键字:
try、catch、finally、throw、throws
6.捕获异常
public class Test {
public static void main(String[] args) {
int a = 1;
int b = 0;
//快捷键,选中代码Ctrl+Alt+T
//假设捕获多个异常:从小到大!
try {//try监控区域
System.out.println(a/b);
} catch (Exception e) {//catch(捕获异常类型) 捕获异常
System.out.println("Exception");
} catch(Error e){
System.out.println("Error");
}
catch(Throwable e){
System.out.println("Throwable");
}finally {//处理善后工作
System.out.println("finally");
}
}
}
public class Test1 {
public static void main(String[] args) {
try {
new Test1().test(1,0);
} catch (Exception e) {
e.printStackTrace();
}
}
//假设这方法中,处理不了这个异常,方法上抛出这个异常
public void test (int a,int b)throws ArithmeticException{
if(b==0){//throw
throw new ArithmeticException();//主动抛出异常,一般在方法中使用
}
}
}
7.自定义异常
public class MyException extends Exception {
//传递数字>10
private int detail;
public MyException(int a){
this.detail = a;
}
//toString:异常信息打印
@Override
public String toString() {
return "MyException{" + detail +
'}';
}
}
public class Test {
//可能会存在异常的方法
static void test(int a) throws MyException {
System.out.println("传递的参数为:"+a);
if(a>10){
throw new MyException(a);//抛出 快捷添加抛出等 Alt+Enter
}
System.out.println("正常结束");
}
public static void main(String[] args) {
try {
test(11);
} catch (MyException e) {
System.out.println("MyException--->"+e);
}
}
}