`

Java常见异常汇总

    博客分类:
  • java
 
阅读更多
转自于:
http://www.javaask.com/java/abnormal/2010/1229/585.html

NO.1 java.lang.NullPointerException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.RuntimeException
        java.lang.NullPointerException
  这个异常的解释是 "程序遇上了空指针 ",简单地说就是调用了未经初始化的对象或者是不存在的对象,对数组操作中出现空指针,很
多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的
空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
当应用程序试图在需要对象的地方使用 null 时,抛出该异常。这种情况包括:
调用 null 对象的实例方法。
访问或修改 null 对象的字段。
将 null 作为一个数组,获得其长度。
将 null 作为一个数组,访问或修改其时间片。
将 null 作为 Throwable 值抛出。
应用程序应该抛出该类的实例,指示其他对 null 对象的非法使用。

NO.2 java.lang.ClassNotFoundException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.ClassNotFoundException
  这个异常的解释是 "指定的类不存在 ",这里主要考虑一下类的名称和路径是否正确即可.
当应用程序试图使用以下方法通过字符串名加载类时,抛出该异常:
Class 类中的 forName 方法。
ClassLoader 类中的 findSystemClass 方法。
ClassLoader 类中的 loadClass 方法。
但是没有找到具有指定名称的类的定义。

NO.3 java.lang.ArithmeticException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.RuntimeException
        java.lang.ArithmeticException
当出现异常的运算条件时,抛出此异常。
  这个异常的解释是 "数学运算异常 ",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自
己程序中涉及到数学运算的地方,公式是不是有不妥了。

NO.4 java.lang.ArrayIndexOutOfBoundsException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.RuntimeException
        java.lang.IndexOutOfBoundsException
     java.lang.ArrayIndexOutOfBoundsException
  这个异常的解释是 "数组下标越界 ",现在程序中大多都有对数组的操作,因此在调用数组的时候一
定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(
即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时
候,最好先查看一下数组的length,以免出现这个异常。
用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。

NO.5 java.lang.IllegalArgumentException
      java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.RuntimeException
        java.lang.IllegalArgumentException

    抛出的异常表明向方法传递了一个不合法或不正确的参数。
  这个异常的解释是 "方法的参数错误 ",很多J2ME的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数
如果写成负数就会出现这个异常,再比如 g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现
这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。

NO.6 java.lang.IllegalAccessException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.IllegalAccessException
  这个异常的解释是 "没有访问权限 ",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中
用了Package的情况下要注意这个异常。
当应用程序试图创建一个实例(而不是数组)、设置或获取一个字段,或者调用一个方法,但当前正在执行的方法无法访问指定类、字段、
方法或构造方法的定义时,抛出 IllegalAccessException。

NO.7 java.lang.IncompatibleClassChangeError
java.lang.Object
   java.lang.Throwable
       java.lang.Error
    java.lang.LinkageError
        java.lang.IncompatibleClassChangeError
不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而
没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
在某些类定义中出现不兼容的类更改时抛出该异常。某些目前执行的方法所依赖的类定义已发生了变化。

NO.8 java.lang.InstantiationError
java.lang.Object
   java.lang.Throwable
       java.lang.Error
    java.lang.LinkageError
        java.lang.IncompatibleClassChangeError
     java.lang.InstantiationError
实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.
通常由编译器捕获此错误;如果类定义中存在不兼容的更改,则此错误将只可能在运行时发生。

NO.9 java.lang.LinkageError
java.lang.Object
   java.lang.Throwable
       java.lang.Error
    java.lang.LinkageError
链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进
而引发错误的情况。
LinkageError 的子类指示一个类在一定程度上依赖于另一个类;但是,在编译前一个类之后,后一个类发生了不相容的改变。

NO.10 java.lang.StackOverflowError
java.lang.Object
   java.lang.Throwable
       java.lang.Error
    java.lang.VirtualMachineError
        java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。

NO.11 java.lang.Exception
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。 (异常层次结构的根类)

NO.12 java.lang.RuntimeException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.RuntimeException
RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的 RuntimeException
的任何子类都无需在 throws 子句中进行声明。 (java.lang中异常的基类)

NO.13 java.util.InputMismatchException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.RuntimeException
        java.util.NoSuchElementException
     java.util.InputMismatchException
由 Scanner 抛出,表明用于检索的标记与期望类型的模式不匹配,或者该标记处在期望类型的范围之外。

NO.14 java.io.IOException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.io.IOException
当发生某种 I/O 异常时,抛出此异常。此类为异常的通用类,它是由失败的或中断的 I/O 操作生成的。

NO.15 java.io.FileNotFoundException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.io.IOException
        java.io.FileNotFoundException
当试图打开指定路径名表示的文件失败时,抛出此异常。
在不存在具有指定路径名的文件时,此异常将由 FileInputStream、FileOutputStream 和 RandomAccessFile 构造方法抛出。
如果该文件存在,但是由于某些原因不可访问,比如试图打开一个只读文件进行写入,此时这些构造方法仍然会抛出该异常。

NO.16 java.io.EOFException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.io.IOException
        java.io.EOFException
当输入过程中意外到达文件或流的末尾时,抛出此异常。
此异常主要被数据输入流用来表明到达流的末尾。注意,其他许多输入操作返回一个特殊值表示到达流的末尾,而不是抛出异常。

NO.17 java.lang.InterruptedException
java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.InterruptedException
当线程在很长一段时间内一直处于正在等待、休眠或暂停状态,而另一个线程用 Thread 类中的 iterrupt 方法中断它时,抛出该异常。

NO.18 java.lang.NumberFormatException
      java.lang.Object
   java.lang.Throwable
       java.lang.Exception
    java.lang.RuntimeException
        java.lang.IllegalArgumentException
     java.lang.NumberFormatException

当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
分享到:
评论

相关推荐

    java常见异常汇总

    ### Java常见异常汇总 #### 1. `org.apache.commons.collections.SequencedHashMap`签名信息不匹配 **异常描述**:`org.apache.commons.collections.SequencedHashMap` 的签名信息与同包内其他类的签名信息不匹配...

    Java常见异常汇总.pdf

    Java常见异常汇总 Java语言中有一些常见的异常,了解这些异常可以帮助开发者更好地编写和 debug 程序。下面我们来总结一些常见的Java异常: 1. java.lang.NullPointerException 这个异常大家肯定都经常遇到,异常...

    Java常见异常汇总[归类].pdf

    Java异常处理是编程中至关重要的一个环节,它帮助开发者识别并修复程序运行时可能出现的问题。在Java中,异常被组织成一系列的类,通常继承自`java.lang....通过这些方法,可以有效地管理和预防Java中的常见异常。

    java常见异常总结

    ### Java常见异常总结 在Java开发过程中,遇到各种异常是在所难免的。为了更好地理解和处理这些异常,本文将详细介绍几种常见的Java异常类型及其处理方法。 #### 1. `java.lang.NullPointerException` - **异常...

    JAVA基础测试中常见的异常问题汇总

    ArithmeticException、NullPointerException等常见异常 Java中定义了许多异常类型,用于处理各种预期之外的情况: - `ArithmeticException`:当执行算术运算时发生错误,如除以零。 - `NullPointerException`:...

    java的异常汇总.docx

    本文将对Java异常的概念、分类、处理方式、常见异常类型、自定义异常以及相关的面试题进行详尽的阐述。 1. 什么是异常、异常的分类? 异常是程序执行过程中发生的非正常情况,它中断了正常的控制流程。在Java中,...

    Java程序常见异常及处理汇总

    Java程序常见异常及处理汇总 Java程序中,异常是非常常见的,处理这些异常是非常重要的。下面是Java程序中常见的异常和处理方法: 一、JDK中常见的异常情况 Java中有两种类型的异常:Error和Exception。Error是...

    Java 编程 :常见问题汇总

    ### Java 编程:常见问题汇总 #### 一、字符串连接误用 在Java编程中,经常需要处理字符串连接的问题。对于循环中的字符串拼接,使用`StringBuilder`或`StringBuffer`比简单地使用`+`操作符更高效。这是因为每次...

    Java开发常见问题汇总.ppt

    运行时的常见错误之一是空指针异常(NullPointerException),这发生在尝试访问尚未初始化的对象引用时。解决方法是检查对象是否已正确实例化,确保在使用前赋予其非null值。另外,数组越界也是常见的编程错误,应...

    java常见面试题汇总

    这份“java常见面试题汇总”涵盖了Java开发人员在面试中可能会遇到的各种问题,旨在帮助求职者准备并理解Java的核心概念和技术。 一、Java基础 1. Java的特性:了解Java的“一次编写,到处运行”的理念,解释JVM...

    JAVA基础测试中常见的异常问题汇总-Java-CSDN

    在进行JAVA基础测试时,了解并掌握这些常见异常的处理方法,不仅有助于提升代码质量,也能在实际开发中避免许多不必要的错误。通过编写异常处理代码,可以确保程序在遇到问题时能优雅地失败,而不是突然崩溃,这对于...

    Java高级面试题和常见面试及答案汇总.rar

    本资源包含"Java高级面试题整理(附答案).docx"和"最常见的Java面试题及答案汇总(一).docx"两份文档,旨在为求职者提供全面的准备材料。 1. **Java基础** - 数据类型:包括基本数据类型和引用数据类型的区别与...

    java异常汇总.txt

    ### Java异常概述与详解 在Java编程中,异常处理是一种重要的机制,用于处理程序执行过程中可能出现的错误或异常情况。Java中的异常分为两大类:**受检异常**(Checked Exceptions)和**非受检异常**(Unchecked ...

    Java常见面试题目汇总

    Java编程语言以其强大的异常处理机制、面向对象的设计和自动内存管理等特点在软件开发领域占据了重要的地位。以下将详细探讨这些知识点: 1. 异常处理机制:Java中的异常处理是通过`try-catch-finally`块来实现的。...

    100家大公司java笔试题汇总.docx

    本文档总结了Java编程语言的常见笔试题,涵盖了Java基础知识、面向对象编程、异常处理、Servlet、JDBC、J2EE等方面的知识点。 一、Java基础知识 1. Java中的abstract关键字可以修饰字段、方法和类,但抽象方法的...

    JAVA、C、C++常见面试题汇总

    ### JAVA、C、C++常见面试题汇总:深入解析与扩展知识点 #### 一、抽象类与接口的区别 **抽象类(Abstract Class)** - 抽象类是一种包含抽象方法的类,它允许声明方法而不需要实现。抽象类主要用于定义一系列具有...

    java常见面试题汇总整理2023

    【Java常见面试题汇总2023】 在2022至2023年的面试季,Java开发者面临着一系列涵盖广泛技术领域的面试挑战。这些挑战包括但不限于基础的Java SE、高级的Spring框架、多线程处理、容器技术、数据库管理和缓存系统如...

    java面试题总汇

    Java IO和NIO(New IO)系统也是面试中的常见话题。IO流涉及文件读写、网络通信等,NIO提供了一种非阻塞的I/O模型,提高了程序的并发性能。 JVM(Java虚拟机)的内部运作也是面试官喜欢询问的领域,包括类加载机制...

Global site tag (gtag.js) - Google Analytics