异常
1、异常
/* 错误error和异常exception
错误(会导致程序终止-要避免) 异常(尽量避免) 运行时异常-程序会捕获、非运行(检查型)异常
1、异常处理机制-抛出异常 和 捕获异常
2、程序中出现问题会停止,通过try catch finally监控抛出程序就可以继续运行;throw和throws是运行的时候判断抛出异常
3、自定义异常-使用Java内置的异常类就可以处理大量的异常了-要用再学吧
*/
package Exc;
public class A1 {
public static void main(String[] args) {
new A1().a1(1,0);
System.out.println(a / b);
}
public void a1(int a, int b) {
if (b == 0) {
throw new ArithmeticException();//throw主动抛出异常,一般在方法中使用
}
}
/*
//假设在这方法 中 处理不了这个异常,方法上抛出异常throws
public void a1(int a, int b) throws ArithmeticException{
if (b == 0) {
throw new ArithmeticException();//throw主动抛出异常,一般在方法中使用
}
}
*/
}
/*
//try catch finally连用 区域内一有异常就捕获
try {//监控区域
System.out.println(a / b);
} catch (ArithmeticException e) {//捕获异常-参数是想要捕获的异常类型-throwable最高级
System.out.println("程序出现异常,变量b不能为0");
} finally {//处理善后工作(可以不要)-处理完了才会去报错
System.out.println("finally");
}
*/
/*
int a = 1;
int b = 0;
//通过代码捕获异常 try监控区域 catch捕获异常 finally处理善后工作 Throwable(最高的捕获异常语句)-Exception-Error
//finally可以不要,但假设IO、资源需要关闭!
try {//监控区域
System.out.println(a/b);
//捕获多个异常 "要从小到大捕获" ,否则会报错
} catch (Error e) {//(想要捕获的异常类型)捕获异常
System.out.println("Error");
} catch(Exception f){
System.out.println("Exception");
}catch(Throwable g){
System.out.println("Throwable");
} finally {//处理善后工作
System.out.println("finally");
}
*/
2、快捷键处理
//快捷键生成,Control+Alt+T选择生成代码
package Exc;
public class A2 {
public static void main(String[] args) {
int a=1;
int b=0;
try {
System.out.println(a/b); //选中这行代码,Control+Alt+T选择生成代码
} catch (Exception e) {
throw new RuntimeException(e);//打印错误栈信息,control+左键去了解代码含义
} finally {
}
}
}
标签:判断,捕获,System,finally,监控,println,异常,out
From: https://www.cnblogs.com/moulixu/p/18333542