1.常见异常
Exception 类是 Throwable 类的子类。除了Exception类外,Throwable还有一个子类Error 。
异常类有两个主要子类:IOException和RuntimeException。
IDEA会提前报错,但了解一些不会有错。
1. 空指针异常:NullPointException
调用了未经初始化或不存在的对象。
2. 数组转换异常:ClassCastException
试图将某对象强制执行向下转型,但该对象又不可转换为其子类的实例。
Object obj = new Integer(0);
String str = obj;
3. 没有访问权限:illegalAccessException
程序调用一个类,但当前方法对该类没有访问权限。
4. 方法参数错误:illegalArgumentException
很多J2ME的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。
5. 数组下标越界异常:IndexOutOfBoundsException
调用数组的下标值超出数组范围。
6. 文件结束异常:EOFException
当程序在输入的过程中遇到文件或流的结尾时,引发异常。因此该异常用于检查是否达到文件或流的结尾
7. 文件未找到:FileNotFoundException
文件不存在或存在但由于某些原因不允许访问。该异常由FileInputStream,FileOutputStream,RandomAccessFile的构造器声明抛出
8. 字符串转换为数字异常:NumberFormatException
比如包含非法字符。
9. 未找到指定类:ClassNotFoundException
程序试图通过字符串来加载某个类时可能引发异常
10. 实例化异常:InstantiationException
试图通过Class的newInstance方法创建某个类的实例,但程序无法通过该构造器来创建该对象时引发
11. 操作数据库异常:SQLException
12. 数学运算异常:ArithmeticException
比如除0
13. 安全异常:SecurityException
由安全管理器抛出的异常,指示存在安全侵犯。
2.处理方式
-
try...catch...
try{ // 程序代码 }catch(异常类型1 异常的变量名1){ // 程序代码 }catch(异常类型2 异常的变量名2){ // 程序代码 }catch(异常类型2 异常的变量名2){ // 程序代码 }
-
throws/throw
import java.io.*; public class className { //多异常用,隔开即可 public void withdraw(double amount) throws RemoteException, InsufficientFundsException { // Method implementation } //Remainder of class definition }
-
try...catch...finally...
finally 关键字用来创建在 try 代码块后面执行的代码块。
无论是否发生异常,finally 代码块中的代码总会被执行。
try{ // 程序代码 }catch(异常类型1 异常的变量名1){ // 程序代码 }catch(异常类型2 异常的变量名2){ // 程序代码 }finally{ // 程序代码 }
只是举几个出现频率高的异常,希望多了解的小伙伴请转https://www.cnblogs.com/qlqwjy/p/7816290.html这位大佬总结的已经很详细了。