「Java基础」七、异常
七、异常
Throwable----异常最大类
1、异常Exception(可以修改)---可以解决
a.运行时异常
b.非运行时异常
2、错误Error(不可以修改)---无法解决
1 - 非运行时异常
1 - 1 捕获异常对象
对于方法中返回值的情况,同样会返回finally中的返回值
try{
//可能发生异常的代码
}catch(Exception e){
//处理方式(将异常打印出来)
e.printStackTrace();
}finally{
//无论有没有发生异常都会执行到的代码
}
1 - 2 抛出异常(throws)
谁运行有异常的方法,则将异常抛给谁-----虚拟机
方法上抛出
1 - 3 自定义异常
public class Test {
public static void main(String[] args){
int a=new Scanner(System.in).nextInt();
if (a==0){
throw new ArrayIndexOutOfBoundsException();
}else{
try {
throw new MyException("a不等于0");
} catch (MyException e) {
e.printStackTrace();
}
}
}
}
class MyException extends Exception{
private String message;
public MyException(String message){
this.message=message;
}
@Override
public void printStackTrace() {
System.out.println("my Exception 异常轨迹信息: "+message);
}
}

浙公网安备 33010602011771号