Java基础 -- 常见异常

Posted bwxx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础 -- 常见异常相关的知识,希望对你有一定的参考价值。

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.处理方式

  1. try...catch...

    try{
       // 程序代码
    }catch(异常类型1 异常的变量名1){
      // 程序代码
    }catch(异常类型2 异常的变量名2){
      // 程序代码
    }catch(异常类型2 异常的变量名2){
      // 程序代码
    }
    
  2. throws/throw

    import java.io.*;
    public class className
    {
        //多异常用,隔开即可
       public void withdraw(double amount) throws RemoteException,
                                  InsufficientFundsException
       {
           // Method implementation
       }
       //Remainder of class definition
    }
    
  3. try...catch...finally...

    finally 关键字用来创建在 try 代码块后面执行的代码块。

    无论是否发生异常,finally 代码块中的代码总会被执行。

    try{
      // 程序代码
    }catch(异常类型1 异常的变量名1){
      // 程序代码
    }catch(异常类型2 异常的变量名2){
      // 程序代码
    }finally{
      // 程序代码
    }
    

只是举几个出现频率高的异常,希望多了解的小伙伴请转https://www.cnblogs.com/qlqwjy/p/7816290.html这位大佬总结的已经很详细了。

以上是关于Java基础 -- 常见异常的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate注解常见错误

JAVA基础——常见异常及错误

Java基础知识-异常

常见基础包类接口异常

JavaSE基础七----<异常>常见的异常,异常处理机制,自定义异常

java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段