码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础 -- 常见异常

时间:2020-06-22 23:29:23      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:load   int   超出   code   main   对象   因此   dex   void   

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基础 -- 常见异常

标签:load   int   超出   code   main   对象   因此   dex   void   

原文地址:https://www.cnblogs.com/bwxx/p/13179401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!