`
Cherry007
  • 浏览: 16865 次
  • 性别: Icon_minigender_2
  • 来自: ChangSha
文章分类
社区版块
存档分类
最新评论
阅读更多

Java异常总结

Java把所有可能的错误都归入到异常类的层次结构中,它们的基类是Throwable。在Java中,Throwable类或其子类的对象才能被Java的错误机制处理。

Throwable可以对特定的错误提供较多的信息,通常是一个字符串。类定义如下:

public class Throwable extends Object

{        //构造方法

        

Throwable()
          
构造一个将 null 作为其详细消息的新 throwable

Throwable(String message)
          
构造带指定详细消息的新 throwable

Throwable(String message, Throwable cause)
          
构造一个带指定详细消息和 cause 的新 throwable

Throwable(Throwable cause)
          
构造一个带指定 cause (cause==null ? null :cause.toString())(它通常包含类和 cause 的详细消息)的详细消息的新 throwable

//其他方法

 Throwable

fillInStackTrace()
          
在异常堆栈跟踪中填充。

 Throwable

getCause()
          
返回此 throwable cause;如果 cause 不存在或未知,则返回 null

 String

getLocalizedMessage()
          
创建此 throwable 的本地化描述。

 String

getMessage()
          
返回此 throwable 的详细消息字符串。

 StackTraceElement[]

getStackTrace()
          
提供编程访问由 printStackTrace() 输出的堆栈跟踪信息。

 Throwable

initCause(Throwable cause)
          
将此 throwable cause 初始化为指定值。

 void

printStackTrace()
          
将此 throwable 及其追踪输出至标准错误流。

 void

printStackTrace(PrintStream s)
          
将此 throwable 及其追踪输出到指定的输出流。

 void

printStackTrace(PrintWriter s)
          
将此 throwable 及其追踪输出到指定的 PrintWriter

 void

setStackTrace(StackTraceElement[] stackTrace)
          
设置将由 getStackTrace() 返回,并由 printStackTrace() 和相关方法输出的堆栈跟踪元素。

 String

toString()
          
返回此 throwable 的简短描述。

 

所有扩充Throwable的类一般应覆盖它的两个构造方法:一个是无输入参数的构造方法,另一个是接受字符串参数的构造方法。

Java程序遇到不可预料的错误时,会实例化一个Throwable类的子类对象。这个对象将包含对错误的描述信息以及当前引起错误对象的状态。访问该对象,可以将信息和状态输出到控制到。此外,通过正确解释这个对象,程序能够试图捕获这个错误并纠正它,或者至少能够正确地完成清除工作和控制危害。

Trowable类直接派生出连个字类:Exception类和Error类。

Exception

表示一个合理的应用程序产生的可能修复的错误。用于表示一切可以被捕获且可能恢复的异常情况。

如果出现在程序中,唯一可以做的是等待程序的崩溃。

 

Error

表示发生严重错误一般是指Java虚拟机相关的问题。这一类错误无法修复或不可能捕获,将导致应用程序中断。

可能出现在任何程序中,如果他们出现,程序应该试图纠正它,或者至少返回到程序可识别和可以控制的和状态,并允许程序继续工作。

 

Exception类型的一场中,有一种异常很常见,就是所谓的运行时异常(Runtime Exception)。再Java中,专门定义了Runtime Exception类,它继承了Exception类,使用try-catch块可以捕获。这类异常若是处理得当,通常可以避免。

 

通常编程中出现的异常是访问指向空指针的变量或者访问无效的数组元素,须注意:

         在访问一个可能没有正确初始化的引用变量前,首先检查它是否指向空值。

         当有可能使用一个超过数组范围的下表来访问数组元素时,应该先检查下标变量是否大于数组的最大长度或者是否小于等于零。

 

隐式和显式异常

一个隐式的错误或异常Implicit Errors是起源于Error类或RuntimeException类。其他类型的异常则被称作显示异常。

隐式异常可能出现在任何类和方法中。在运行时异常的情况下,我们可以有策略地放置if语句来阻止它的产生;但是在Error的情况下,一般没有特别有效的方法阻止它。

Throwable相关的主要类的分类层次关系

Throwable

getMessage();toString();printStackTrace();

Error

Exception

 

RuntimeException

IOException

InterruptedException

Inplicit Errors

Explicit Errors

 

包含在java.lang中的异常

比较常见的异常类

异常类的含义

ArithmaticException

算术运算时发生的异常

ArrayIndexOutOfBoundsException

使用非法下标访问数组

ArrayStoreException

企图把一个错误类型的对象存入数组中

ClassCastException

试图将一个对象转换成并非它的子类的实例

IllegalArgumentException

传递了一个错误的参数给某个方法

IllegalThreadStateException

对于被要求的操作,线程没有出在一个合适的状态

InterruptedException

一个线程正在等待,休眠或者暂停了很长时间,而另一个线程使用Thread类的中断方法中断了它

NoSuchFiledException

表明类中没有这个特定名字的域

NoSuchMethodException

没有发现某个特定的方法

NullPointerException

当需要引用一个对象时,应用程序试图使用空对象

NumberFormatException

试图把一个不合法的字符串转化成数值类型

SecurityException

表明违法安全规则

StringIndexOutOfBoundsException

字符串的下标值为负,或大于等于字符串的长度

这些异常基本上是可以防止的,因为它们其中很大部分都继承了RuntimeException

java.awt包也包含一些异常类,但这些异常很少发生。

异常类

异常类的定义

AWTException

一个抽象窗口工具集异常出现

IllegalComponentException

对于要求的操作,AWT组件没有处于一个合适的状态

java.io中的异常与I/O操作有关,通常发生在从磁盘或者连接的网络上读取数据的时候。一般无法阻止它们的发生,但是可以阻止它们产生更大的破坏。

异常类

异常类的定义

EOFException

在读取数据时,指针已达到文件或流的尾部。通常数据输入流使用这种异常,而其他的输入流一般在到达流的尾部时范围一个特殊值。

FileNotFoundException

文件无法找到

IOException

某种类型的I/O异常发生

InterruptedIOException

I/O操作被中断

java.net中的异常

异常类

异常类的定义

ConnectException

当试图连接远程地址或端口时,连接请求被拒绝

MalformedException

创建了一个不正确的URL地址

NoRuteToHostException

当试图连接远程地址或端口时,无法到达远程主机

ProctolException

一些基本的协议错错误,例如TCP错误

mar

分享到:
评论

相关推荐

    java异常处理习题

    Java 异常处理习题 Java 异常处理是 Java 编程语言中的一种重要机制,用于处理程序在运行时可能出现的错误或异常情况。下面是关于 Java 异常处理的习题和知识点总结: 一、Java 异常处理关键字 * Java 中用来抛出...

    java 异常详解,java异常分类,创建自己的异常

    Java 异常详解 Java 异常是指在程序运行中出现的违背指定正常流向的事件。异常可以分为两大类:-checked 异常和 unchecked 异常。Checked 异常必须在编译时捕捉并处理,而 unchecked 异常可以在编译时忽略,但是在...

    java异常机制小结

    Java 异常机制的基础知识包括异常的基础概念、异常的分类、异常的对象、异常的来源、异常的处理等几个方面。 一、Java 异常的基础知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以...

    Java异常学习资料

    Java异常处理是Java编程语言中的一个关键特性,它允许程序员优雅地处理程序运行时出现的错误情况,确保程序的稳定性和可靠性。这份“Java异常学习资料”包含了丰富的资源,帮助你深入理解Java异常机制,提升代码质量...

    java异常处理练习题

    java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验

    java异常 异常的概念 应用

    Java异常处理是编程中至关重要的一个环节,它关乎程序的健壮性和稳定性。在Java中,异常(Exception)被用来表示程序运行时发生的错误或不正常情况。异常并不等同于错误,它是程序设计的一部分,允许我们优雅地处理...

    java学习之Java异常.ppt

    Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误情况时能够优雅地进行错误恢复或者至少提供有用的错误信息。Java异常是程序在运行时遇到的问题,例如数组越界、空指针异常、文件未找到等,这些问题...

    java 异常处理ppt

    Java异常处理是编程中至关重要的一个环节,它允许开发者优雅地处理程序运行时可能出现的错误,确保程序的健壮性和稳定性。Java中的异常处理机制基于一个独特的概念——异常(Exception),这是一种表示程序运行中...

    java异常体系结构

    Java异常体系结构是Java语言的重要组成部分,它负责处理程序执行过程中出现的错误情况。在Java中,异常由Throwable类及其子类构成。Throwable是所有异常的顶层父类,它有两个直接子类:Error和Exception。Error类...

    java 异常处理 代码实例

    Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误时能够优雅地运行,而不是突然崩溃。本篇文章将深入探讨Java异常处理的概念、机制以及如何通过代码实例进行有效的异常管理。 Java异常处理的核心...

    Java异常处理体系

    这个主题,"Java异常处理体系",涉及到Java如何优雅地处理程序运行时的异常,确保程序的健壮性和稳定性。这篇博文链接(已提供但无法直接访问)可能详细解释了Java异常处理的基本概念、机制以及最佳实践。 Java异常...

    浅析JAVA异常处理机制.pdf

    ### 浅析JAVA异常处理机制 #### 一、Java异常处理机制概述 异常处理是Java语言中的一个重要机制,它能够确保程序在遇到不可预料的情况时仍能维持稳定运行。异常处理主要包括三个方面:捕获异常、控制程序流程以及...

    JAVA异常出错的教程,非常全面。

    Java异常处理是编程过程中的重要环节,它有助于增强程序的健壮性和稳定性。在这个全面的教程中,我们将深入探讨Java异常的基本概念、分类、处理机制以及最佳实践。 首先,Java异常是程序运行时发生的错误,它中断了...

    Java异常处理终结篇——如何进行Java异常处理设计 - 望远的个人页面 - 开源中国社区1

    Java异常处理设计是Java编程中一个至关重要的环节,它直接影响到程序的稳定性和可维护性。在Java中,异常处理是通过try-catch-finally语句块来实现的,主要涉及两大类异常:编译时异常(Checked Exception)和运行时...

    Java异常框架设计

    这篇博文“Java异常框架设计”可能探讨了如何有效地利用Java的异常处理机制来构建可靠的系统。在这个讨论中,我们将深入理解Java异常的基本概念、异常分类、以及如何通过良好的框架设计提升代码的可读性和可维护性。...

    Java异常分装实例

    在给定的“Java异常分装实例”中,我们可以学习如何创建自定义异常类、抛出和捕获异常,以及如何利用Java的异常层次结构。`exception_test`文件可能包含了一个或多个示例代码,用于演示这些概念。 首先,创建自定义...

    Java异常处理,非常适合Java爱好者

    Java异常处理是Java编程语言中的一个关键特性,它允许程序员优雅地处理程序运行时可能出现的错误和不正常状况。在Java中,异常是程序执行过程中出现的问题,它们中断了正常的控制流程,使得程序无法继续按照预期的...

Global site tag (gtag.js) - Google Analytics