异常

异常(Exception )

程序运行过程当中出现的例外情况

Error 和 Exception 的区别

●Error是指由于底层硬件环境或者系统原因出现的,无法通过代码解决问题

●Exception是指运行过程当中出现的异常情况

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

●非运行时异常在编译的时候就要求给出明确的处理方案,否则编译都无法通过      

●运行时异常 编译时不需要进行任何处理,直接到运行时体现出来

常见的运行时异常

异常(Exception)
说明
ArithmeticException算术异常
NegativeArraySizeException负数数组大小异常
ArrayIndexOutOfBoundsException数组索引值超出边界异常
StringIndexOutOfBoundsException字符串索引值超出边界异常
NumberFormatException数字格式异常
NullPointerException
空指针异常
ClassCastException类造型异常
IllegalArgumentException非法参数异常
IndexOutOfBoundsException索引值超出边界异常
IllegalStateException非法状态异常
ConcurrentModificationException并发修改异常

●非运行时异常 不做处理编译都无法通过为什么要处理异常

●程序一旦出现异常 之后的代码就都不执行了

如何处理异常

抛还上级(throws)     


自行处理(捕获异常)

try{
    //可能出现异常的语句;
}catch(Exception e){  //异常类型,Exception可以捕获所有异常
    //异常处理,通常打印异常信息
}finally{
    //无论是否异常,都会执行,哪怕出现异常也会执行
}

●一个try 后面可以多个catch,但是前面捕获的异常范围不能大于后面的范围(没有意义)

●JDK7.0开始 一个catch可以捕获多种不同异常,用"|"隔开

如何自定义异常

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

主动创建异常

throw : 用在方法体当中,在没有异常出现的场景下主动制造异常出现

throws : 用在方法签名的最后 本方法当中出现指定种类的异常本方法不做处理,将异常抛给调用该方法的方法

本文标题:异常
转载请注明:https://blog.grstudy.com/java/note/24
作者头像
boss创始人

站长

上一篇:内部类
下一篇:java代码-HelloWorld