Error类对象由Java虚拟机生成并抛出,大多数错误和代码的编写者所执行的操作无关。
exception一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类的异常发生
异常处理五个关键词
try、catch、finally、throw、throws
package exception;
import jdk.jfr.StackTrace;
import java.sql.SQLOutput;
public class test {
public static void main(String[] args){
int a = 1;
int b =0;
// System.out.println(a/b);
//选中代码ctrl+alt+t选择try/catch/finally自动生成代码块
try {//try监控区域
System.out.println(a/b);
}catch (ArithmeticException e){//catch(要捕获的异常) 捕获异常
System.out.println("程序出现异常,变量b不能为零");
} catch (Throwable e){//Throwable为最大的异常包括error和exception
System.out.println("程序出现异常,要从小到大");
}finally {
System.out.println("finally");
}
//finally可以不要 假设IO、资源、关闭
}
}
thorw的使用
public class test {
public static void main(String[] args){
new test().test(1,0);
}
public void test(int a,int b){
if(b==0){
throw new ArithmeticException();//主动抛出异常,方法中使用
}
}
}
thorws的使用
public class test {
public static void main(String[] args){
try {
new test().test(1,0);
} catch (ArithmeticException e) {
e.printStackTrace();
}
}
//这个方法中处理不了这个异常,要在方法上异常
public void test(int a,int b) throws ArithmeticException{
if(b==0){
throw new ArithmeticException();//主动抛出异常,方法中使用
}
}
}