异常

1、异常简介

error:系统错误 :内存溢出,虚拟机异常

                               检查异常:文件异常,连接错误,SQL错误,捕获处理语句

  Error:致命的错误,不可修复的
  Exception:异常,代码写错了
  Exception可分为:
  编译期异常:编译的时候报异常,并且一定要写try-catch,不写的话编译无法通过
    运行时异常:编译的时候不报异常,运行时异常,写不写try-catch都能通过

  常用的运行时异常:NumberFormatException / ArrayIndexOutOfBondsException

  NullPointException(空指针异常)
  当一个引用的值为NULL的时候,试图用他来调用方法或属性的时候就会发生空指针异常
  InputMissmatchException 输入不匹配
  ArithmeticException 算术异常

2、异常处理和抛出
  try-catch-finally
    Try{
      一些抛出异常的方法
    }catch(Exception e){//可多重catch语句,先小后大,先子类后父类
      处理该异常的代码块
    }finally{ //e.printStackTrace();打印异常信息
      最终执行的代码块
    }

    Throws关键字--把异常抛给调用他的环境,声明将要抛出何种类型的异常(声明)
    Throw关键字--手动抛出异常,将产生的异常抛出(动作)
    public void 方法名(参数列表)throws 异常列表{
      //调用会抛出异常的方法或者throw new Exception();
    }
    class 自定义异常类 extends 异常类型 {//异常类型为意思相近的异常类
                          或基类Exception
    }
3、异常连

  例;public void test1() throws  DrunkException{

        throw new DrunkException(“喝车别开酒”);

    }

    public void  test2(){

      try{

        test1();

      }catch(DrunkException e){

      RuntimeException newExc = new RuntimeException("司机一滴酒,亲人两行泪");

      newExc.initCause(e);

      throw newExc;

      }

      捕获到的异常可以在当前方法中catch块处理,也可以抛出给调用者处理

原文地址:https://www.cnblogs.com/Lune-Qiu/p/7384325.html