捕获异常和抛出异常

捕获异常和抛出异常

 

 

package com.zishi.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("Throwable");
      }finally {
           System.out.println("finally");
      }

       //finally 可以不要finally   最后可以关闭资源,IO
  }

   public void a(){
       b();
  }

   public void b(){
       a();
  }
}

 

package com.zishi.exception;

public class Test2 {
   public static void main(String[] args) {

       //快捷键:ctrl + alt +t 先选中 异常快捷键
       try {
           new Test2().test2(1,0);
      } catch (Exception e) {
           e.printStackTrace();
      } finally {
      }
  }

   //假设这方法中,处理不了这个异常。方法上抛出异常
   public void test2(int a,int b) throws ArithmeticException{
       if(b==0){ //throw throws
           throw new ArithmeticException();  //主动的抛出异常,一般在方法中使用
      }
  }
}

 

posted @ 2021-08-04 00:00  子时未临  阅读(34)  评论(0编辑  收藏  举报