1、
异常类分为两大类,错误Error和异常Exception


2、异常处理机制
抛出异常
捕获异常
异常处理的五个关键字
try、catch、finally、throw、throws

package com.oop.Demo08;
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 0;
try {//try监控区域
System.out.println(a/b);
}catch (ArithmeticException e){//catch(想要捕获的异常类型)
//Throwable 是最高级的
//try中的程序出现了catch()中的异常,就会执行catch中的代码块
System.out.println("程序出现异常");
}finally {//处理善后工作,出不出异常都会执行
System.out.println("finally");
}
}
}
catch可以写多个,但是最大的要在后面,就像if else if 一样,只会执行其中一个
try(){
}catch(){
}catch(){
}//finally可以不写,他是做善后工作的
快捷键:选中代码之后,ctrl+alt+t会自动生成一些代码

e.printStackTrace(); //打印错误的栈信息
System.exit(数字);//手动结束程序
package com.oop.Demo08;
public class Tested {
public static void main(String[] args) {
new Tested().test(1,0);
}
public void test(int a,int b){
if(b == 0) {
throw new ArithmeticException();//主动抛出异常,一般在方法中使用
}
}
}
package com.oop.Demo08;
public class Tested {
public static void main(String[] args) {
try {
new Tested().test(1,0);
} catch (ArithmeticException e) {
e.printStackTrace();
}
}
//假设这个方法中,处理不了这个异常。方法上抛出异常
public void test(int a,int b) throws ArithmeticException{
if(b == 0) {
throw new ArithmeticException();//主动抛出异常,一般在方法中使用
}
}
}
3、自定义异常




浙公网安备 33010602011771号