Java异常(Exception)

异常(Exception )是指程序运行过程当中出现的例外情况

Error 和 Exception 的区别

  • Error是指由于底层硬件环境或者系统原因出现的,无法通过代码解决问题
  • Exception是指运行过程当中出现的异常情况

运行时异常和非运行时异常的区别

  • 非运行时异常在编译的时候就要求给出明确的处理方案,否则编译都无法通过
  • 运行时异常 编译时不需要进行任何处理,直接到运行时体现出来

常见的运行时异常

异常(Exception) 说明
ArithmeticException 算术异常
NegativeArraySizeException 负数数组大小异常
ArrayIndexOutOfBoundsException 数组索引值超出边界异常
StringIndexOutOfBoundsException 字符串索引值超出边界异常
NumberFormatException 数字格式异常
NullPointerException 空指针异常
ClassCastException 类造型异常
IllegalArgumentException 非法参数异常
IndexOutOfBoundsException 索引值超出边界异常
IllegalStateException 非法状态异常
ConcurrentModificationException 并发修改异常
  • 非运行时异常 不做处理编译都无法通过
  • 程序一旦出现异常 之后的代码就都不执行了

如何处理异常

抛还上级(throws)

//运行时异常
throw new RuntimeException("错误提示");

自行处理(捕获异常)

try{
    //可能出现异常的语句;
}catch(Exception e){  //异常类型,Exception可以捕获所有异常
    //异常处理,通常打印异常信息
}finally{
    //此处代码无论是否异常,都会执行,哪怕出现异常也会执行
}
  • 一个try 后面可以多个catch,但是前面捕获的异常范围不能大于后面的范围(因为没有意义)
  • JDK7.0开始 一个catch可以捕获多种不同异常,用"|"隔开

如何自定义异常

继承Exception或者RuntimeException,构造方法当中可以使用super("这里填写异常的简要描述");

主动创建异常

  • throw : 用在方法体当中,在没有异常出现的场景下主动制造异常出现
  • throws : 用在方法签名的最后 本方法当中出现指定种类的异常本方法不做处理,将异常抛给调用该方法的方法
© 版权声明
THE END
喜欢就支持一下吧
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容