异常
application类:
package com.tiedandan.oop.异常;
public class application {
public static void main(String[] args) {
new Test().test(1,0);
int a =1;
int b = 0;
try {//try括号内标识异常监控的区域
System.out.println(a/b);
}catch (Error e){//catch表示处理异常的方法。catch(想要捕获的异常类型)
//异常处理可以写多个,而且覆盖面积大的写在后面,否则会直接覆盖小的。覆盖面积Error<Exception<Throwable;
//异常处理快捷键:选中当前代码,ctrl+alt+t;
System.out.println("程序发生了Error异常,");
}catch (Exception e){
System.out.println("程序发生了Excepttion异常");
}catch (Throwable e){
System.out.println("程序发生了Throwable异常");
} finally {//fianlly处理善后工作,一般结束IO流,关闭资源时用。
System.out.println("finally");
}
//这里讲的异常不是错误,trycatch无法处理错误。但是并不影响finally会一定执行。
}
//总结:try catch和throw(s)都能抛出异常,区别是trycatch能让程序继续运行,throws则会直接中断程序。
}
test类:
package com.tiedandan.oop.异常;
import com.sun.org.apache.bcel.internal.generic.NEW;
public class Test {
public static void main(String[] args) {
}
//假设在这个方法中处理不了这个异常。则用throws在方法上抛出异常
//注意在方法内用throw,在方法上用throws
public void test(int a,int b) throws ArithmeticException {
if(b==0){
throw new ArithmeticException();//throw 主动抛出异常
//一般在方法中使用
}
}
}