• 【Java】异常处理


    Java_异常

    1、Error、Exception

    Error通常是灾难性的致命错误 是程序无法控制和处理的

    Exception有程序逻辑错误引起的

    2、处理异常

    • 捕获异常:try、catch、finally

      public class ExceptionTest {
          public static void main(String[] args) {
              try{
                  System.out.println(1/0);
              }catch(ArithmeticException e){
                  System.out.println(e.getMessage());
              }finally {
                  System.out.println("finally");
              }
          }
      }
      
      • 声明、抛出异常:throws、throw

        1、可以通过 throws 关键字在方法上声明该方法要拋出的异常,然后在方法内部通过 throw 拋出异常对象

        2、当一个方法产生一个它不处理的异常时,那么就需要在该方法的头部声明这个异常,以便将该异常传递到方法的外部进行处理。使用 throws 声明的方法表示此方法不处理异常

        3、子类方法声明抛出的异常类型应该是父类方法声明抛出的异常类型的子类或相同,子类方法声明抛出的异常不允许比父类方法声明抛出的异常多

      public class ExceptionTest {
          public static void main(String[] args) {
              try {
                  new ExceptionTest().test(1,0);
              } catch (ArithmeticException e) {
                  e.printStackTrace();
              }
          }
          public void test(int a,int b) throws ArithmeticException{//这里不声明程序会报错
              if(b==0){
                  throw new ArithmeticException();//主动抛出异常 一般在方法中使用
              }
          }
      }
      

    3、自定义异常

    public class MyException extends Exception {
        private int num;
        public MyException(int a){
            this.num=a;
        }
    
        //异常提示消息
        @Override
        public String toString() {
            return "MyException+{"+num+"}";
        }
    }
    
  • 相关阅读:
    MFC调用C动态库函数-----待补充
    硬盘知识总结:
    Android 四:区分刷机与root
    总结:Linux系统启动流程
    Android 三:手机adb 命令解锁
    UVa11136 Hoax or what
    UVa11988 Broken Keyboard (a.k.a. Beiju Text)
    UVa11280 Flying to Fredericton
    UVa10269 Adventure of Super Mario
    UVa12589 Learning Vector
  • 原文地址:https://www.cnblogs.com/hklol/p/14672990.html
Copyright © 2020-2023  润新知