捕获和抛出异常
异常处理五个关键字
try, catch, final
package exception; public class Test { public static void main(String[] args) { int a = 1; int b = 0; //捕获多个异常,从小到大! try {//try监控区域 System.out.println(a/b); }catch (Error e){ //catch(想要捕获的异常类型!)捕获异常 System.out.println("Error"); }catch (Exception e){ System.out.println("Exception"); }catch (Throwable e){ System.out.println("Thowable"); }finally {//处理善后工作 System.out.println("finally"); } //finally可以不要,如果是IO流,与资源相关的一些东西,我们需要关闭,关闭的操作就放在finally里面 } }
throw, throws
package exception; 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 throws throw new ArithmeticException();//主动地抛出异常,一般在方法种使用 } } }