首页 > 其他分享 >Day14

Day14

时间:2022-09-30 10:22:44浏览次数:43  
标签:int MyException System public Day14 void out

异常

异常错误代码

public class Demo01 {
   public static void main(String[] args) {
/*       new Demo01().a();
   }
   public void a(){
       b();
   }
   public void b(){
       a();
   }
           System.out.println(11/0);

上面的都是出现异常的或者错误的
*/
  }
}

异常处理机制

throwable:错误类型最大

public class Test {
   public static void main(String[] args) {
       int a=1;
       int b=0;

       //Ctrl+alt+t
       //异常从小到大捕获
       try {
           new Test().a();
           System.out.println(a/b);
      } catch (Error e) {
           System.out.println("111111111111");
      } catch (Exception e) {
           System.out.println("22222222");
      }


//finally :可以不要finally   假设I/O,资源,关闭需要用到finally
  }
   public  void a(){
       b();
  }
   public void b(){
       a();
  }

}
public class Demo02 {
   public static void main(String[] args) {
       try {
           new Demo02().test(1,0);
      } catch (ArithmeticException e) {
           e.printStackTrace();
      }
  }
   //假设这个方法中,处理不了这个异常,方法上抛出异常
   public void test(int a,int b) throws ArithmeticException{
       if (b==0){
           //主动抛出异常,一般在方法中使用
           throw new ArithmeticException();
      }
  }
}

自定义异常

public class MyException extends Exception{
   //传递数字>10
   private int detail;

   public MyException(int a) {
       this.detail=a;
  }
   //toString异常的打印信息

   @Override
   public String toString() {
       return "MyException{" + detail + '}';
  }
}
public class Test {
   //可能存在的方法
   static void test(int a) throws MyException{
       System.out.println("传递的参数为:"+a);
       if (a>10){
           throw new MyException(a);//抛出
      }
       System.out.println("ok");
  }

   public static void main(String[] args) {
       try {
           test(11);
      } catch (MyException e) {
           System.out.println("MyException=>"+e);//e是异常类MyException中的返回值
      }
  }
}
public class MyException extends Exception{
   //传递数字>10
   private int detail;

   public MyException(int a) {
       this.detail=a;
  }
   //toString异常的打印信息

   @Override
   public String toString() {
       return "MyException{" + detail + '}';
  }
}

标签:int,MyException,System,public,Day14,void,out
From: https://www.cnblogs.com/xclxcl/p/16744041.html

相关文章