异常

xiaoxiao2021-02-28  39

 

Java中所有的异常都继承自Throwable,Throwable类下有两个子类Error类和Exception

1.Error类一般指与虚拟机相关的问题如系统崩溃虚拟机错误内存空间不足方法调用栈溢出等出现这类错误除了向用户报告和安全地终止程序外程序本身是无能为力的

2.Exception类下有两个子类IOException类和Runtime Exception

2.1Runtime Exception,也叫运行时期的异常由程序本身的错误导致这类错误是不应该出现的所以建议要通过修改代码解决这类异常

几个常见的 RuntimeException:

①java.lang.NullPointerException 空指针异常出现原因调用了未经初始化的对象或者是不存在的对象

②java.lang.ClassNotFoundException 指定的类找不到出现原因类的名称和路径加载错误

③java.lang.NumberFormatException 字符串转换为数字异常出现原因将字符串转换为数字类型时字符串中包含不是数字的符号

④java.lang.IndexOutOfBoundsException 数组索引越界异常

⑤java.lang.IllegalArgumentException 方法传递参数错误

⑥java.lang.ClassCastException 类类型转换异常出现原因不具备继承关系的类之前进行强制转换

⑦java.lang.FileNotFoundException 找不到指定的文件异常出现原因:I/O流操作文件时文件不存在

⑧SQLException SQL 数据库异常出现原因操作数据库时的 SQL 语句错误

⑨java.lang.NoSuchMethodException 方法不存在异常

2.2IOException,也叫编译时期的异常程序本身没什么问题在编译期就必须处理否则程序不能通过编译就更不能正常的执行了这类异常处理的方式有两种抛出异常不处理和捕获异常并处理

抛出异常若对异常的处理的方式要视方法调用者的情况而定这时候我们应该选择抛出异常简化程序的编写将来谁调用该方法再进行异常的捕获与处理抛出异常除了可以在声明方法时使用throws声明抛出的异常还可以使用throw在方法中抛出异常

throws主要用于告诉方法调用者需要抛出或处理什么样的异常throw用于抛出一个异常对象通常用于处理自定义异常类

捕获异常一般使用try{}catch(){}或者try{}catch(){}finally{}这两张方式来捕获和处理异常不管有没有异常finally后面的代码块一定会执行因此finally一般用来执行垃圾回收释放资源等最后必须要的代码。try后面的代码块中放的是可能会出现异常的代码。catch后面的小括号内是程序需要处理的异常类型代码块中放处理异常的方法

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-2623091.html

最新回复(0)