JavaTM 2 Platform
Standard Ed. 5.0

类 java.lang.Throwable
的使用

使用 Throwable 的软件包
java.io Provides for system input and output through data streams, serialization and the file system. 
java.lang 提供利用 Java 编程语言进行程序设计的基础类。 
java.lang.annotation 为 Java 编程语言注释设施提供库支持。 
java.lang.instrument 提供允许 Java 编程语言代理监测运行在 JVM 上的程序的服务。 
java.lang.reflect 提供类和接口,以获取关于类和对象的反射信息。 
java.util 包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 
java.util.concurrent 在并发编程中很常用的实用工具类。 
java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 
java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 
java.util.prefs 此包允许应用程序存储并检索用户和系统首选项和配置数据。 
java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 
java.util.zip 提供用于读写标准 ZIP 和 GZIP 文件格式的类。 
 

java.io 中 Throwable 的使用
 

java.io 中 Throwable 的子类
 class java.io.IOException
          Signals that an I/O exception of some sort has occurred.
 

java.langThrowable 的使用
 

java.langThrowable 的子类
 class AbstractMethodError
          当应用程序试图调用一个抽象方法时,抛出此错误。
 class ArithmeticException
          当出现异常的运算条件时,抛出此异常。
 class ArrayIndexOutOfBoundsException
          用非法索引访问数组时抛出的异常。
 class ArrayStoreException
          试图将错误类型的对象存储到一个对象数组时抛出的异常。
 class AssertionError
          抛出该异常指示某个断言失败。
 class ClassCastException
          当试图将对象强制转换为不是实例的子类时,抛出该异常。
 class ClassCircularityError
          当初始化类时检测到类的循环调用的时候,抛出该错误。
 class ClassFormatError
          当 Java 虚拟机试图读取类文件并确定该文件存在格式错误或无法解释为类文件时,抛出该错误。
 class ClassNotFoundException
          当应用程序试图使用以下方法通过字符串名加载类时,抛出该异常: Class 类中的 forName 方法。
 class CloneNotSupportedException
          当调用 Object 类中的 clone 方法克隆对象,但该对象的类无法实现 Cloneable 接口时,抛出该异常。
 class EnumConstantNotPresentException
          当应用程序试图通过名称和枚举类型访问那些不包含具有指定名称的常量的枚举常量时,抛出该异常。
 class Error
          ErrorThrowable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。
 class Exception
          Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。
 class ExceptionInInitializerError
          静态初始化程序中发生意外异常的信号。
 class IllegalAccessError
          当应用程序试图访问或修改它不能访问的字段,或调用它不能访问的方法时,抛出该异常。
 class IllegalAccessException
          当应用程序试图创建一个实例(而不是数组)、设置或获取一个字段,或者调用一个方法,但当前正在执行的方法无法访问指定类、字段、方法或构造方法的定义时,抛出 IllegalAccessException。
 class IllegalArgumentException
          抛出的异常表明向方法传递了一个不合法或不正确的参数。
 class IllegalMonitorStateException
          抛出的异常表明某一线程已经试图等待对象的监视器,或者试图通知其他正在等待对象的监视器而本身没有指定监视器的线程。
 class IllegalStateException
          在非法或不适当的时间调用方法时产生的信号。
 class IllegalThreadStateException
          指示线程没有处于请求操作所要求的适当状态时抛出的异常。
 class IncompatibleClassChangeError
          在某些类定义中出现不兼容的类更改时抛出该异常。
 class IndexOutOfBoundsException
          指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。
 class InstantiationError
          当应用程序试图使用 Java 的 new 结构来实例化一个抽象类或一个接口时,抛出该异常。
 class InstantiationException
          当应用程序试图使用 Class 类中的 newInstance 方法创建一个类的实例,而指定的类对象因为是一个接口或是一个抽象类而无法实例化时,抛出该异常。
 class InternalError
          该异常指示 Java 虚拟机中出现一些意外的内部错误。
 class InterruptedException
          当线程在很长一段时间内一直处于正在等待、休眠或暂停状态,而另一个线程用 Thread 类中的 iterrupt 方法中断它时,抛出该异常。
 class LinkageError
          LinkageError 的子类指示一个类在一定程度上依赖于另一个类;但是,在编译前一个类之后,后一个类发生了不相容的改变。
 class NegativeArraySizeException
          如果应用程序试图创建大小为负的数组,则抛出该异常。
 class NoClassDefFoundError
          当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。
 class NoSuchFieldError
          如果应用程序试图访问或修改一个指定的对象字段,而该对象不再包含该字段时,抛出该异常。
 class NoSuchFieldException
          类不包含指定名称的字段时产生的信号。
 class NoSuchMethodError
          当应用程序试图调用类(静态或实例)的指定方法,而该类已不再具有该方法的定义时,抛出该异常。
 class NoSuchMethodException
          无法找到某一特定方法时,抛出该异常。
 class NullPointerException
          当应用程序试图在需要对象的地方使用 null 时,抛出该异常。
 class NumberFormatException
          当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
 class OutOfMemoryError
          因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。
 class RuntimeException
          RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。
 class SecurityException
          由安全管理器抛出的异常,指示存在安全侵犯。
 class StackOverflowError
          当应用程序递归太深而发生堆栈溢出时,抛出该错误。
 class StringIndexOutOfBoundsException
          此异常由 String 方法抛出,指示索引或者为负,或者超出字符串的大小。
 class ThreadDeath
          调用 Thread 类中带有零参数的 stop 方法时,受害线程将抛出一个 ThreadDeath 实例。
 class TypeNotPresentException
          当应用程序试图使用表示类型名称的字符串对类型进行访问,但无法找到带有指定名称的类型定义时,抛出该异常。
 class UnknownError
          当 Java 虚拟机中出现一个未知但严重的异常时,抛出该错误。
 class UnsatisfiedLinkError
          当 Java 虚拟机无法找到声明为 native 的方法的本地语言定义时,抛出该错误。
 class UnsupportedClassVersionError
          当 Java 虚拟机试图读取一个类文件,并确定文件的主辅版本号不受支持时,抛出该错误。
 class UnsupportedOperationException
          当不支持请求的操作时,抛出该异常。
 class VerifyError
          当“校验器”检测到一个类文件虽然格式正确,但包含着一些内部不一致性或安全性问题时,抛出该错误。
 class VirtualMachineError
          当 Java 虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错误。
 

返回 Throwablejava.lang 中的方法
 Throwable Throwable.fillInStackTrace()
          记录异常堆栈跟踪。
 Throwable Throwable.getCause()
          返回此 throwable 的 cause;或者如果 cause 不存在或未知,则返回 null
 Throwable ClassNotFoundException.getCause()
          返回此异常的原因(尝试加载类时发生错误引发的异常;否则返回 null)。
 Throwable ExceptionInInitializerError.getCause()
          返回导致该错误的原因(导致发生此错误的静态初始化期间发生的异常)。
 Throwable ClassNotFoundException.getException()
          返回尝试加载类时发生错误引发的异常。
 Throwable ExceptionInInitializerError.getException()
          返回静态初始化期间发生的异常,该异常导致发生此错误。
 Throwable Throwable.initCause(Throwable cause)
          将此 throwable 的 cause 初始化为指定值。
 

参数类型为 Throwablejava.lang 中的方法
 Throwable Throwable.initCause(Throwable cause)
          将此 throwable 的 cause 初始化为指定值。
 void Thread.stop(Throwable obj)
          已过时。 该方法具有固有的不安全性。请参阅 Thread.stop() 以获得详细信息。 该方法的附加危险是它可用于生成目标线程未准备处理的异常(包括若没有该方法该线程不太可能抛出的已检查的异常)。 有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对?
 void Thread.UncaughtExceptionHandler.uncaughtException(Thread t, Throwable e)
          当给定线程因给定的未捕获异常而终止时,调用该方法。
 void ThreadGroup.uncaughtException(Thread t, Throwable e)
          当此线程组中的线程因为一个未捕获的异常而停止,并且线程没有安装特定 Thread.UncaughtExceptionHandler 时,由 Java Virtual Machine 调用此方法。
 

抛出 Throwablejava.lang 中的方法
protected  void Object.finalize()
          当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
 

参数类型为 Throwablejava.lang 中的构造方法
ClassNotFoundException(String s, Throwable ex)
          构造一个 ClassNotFoundException,它带有指定详细消息和加载类时引发的可选异常。
Error(String message, Throwable cause)
          构造带指定详细消息和原因的新错误。
Error(Throwable cause)
          根据指定的原因和 (cause==null ? null :cause.toString()) 的详细消息来构造新的错误(通常包含 cause 的类和详细消息)。
Exception(String message, Throwable cause)
          构造带指定详细消息和原因的新异常。
Exception(Throwable cause)
          根据指定的原因和 (cause==null ? null : cause.toString()) 的详细消息构造新异常(它通常包含 cause 的类和详细消息)。
ExceptionInInitializerError(Throwable thrown)
          保存对抛出的 Throwable 对象的引用,以便以后通过 ExceptionInInitializerError.getException() 方法对其进行检索,通过这种方式构造一个新的 ExceptionInInitializerError 类。
IllegalArgumentException(String message, Throwable cause)
          根据指定的详细消息和原因构造一个新异常。
IllegalArgumentException(Throwable cause)
          根据指定的原因和 (cause==null ? null :cause.toString()) 的详细消息构造一个新异常(它通常包含 cause 的类和详细消息)。
IllegalStateException(String message, Throwable cause)
          根据指定的详细消息和原因构造一个新异常。
IllegalStateException(Throwable cause)
          根据指定的原因和 (cause==null ? null :cause.toString()) 的详细消息构造一个新异常(它通常包含 cause 的类和详细消息)。
RuntimeException(String message, Throwable cause)
          用指定的详细消息和原因构造一个新的运行时异常。
RuntimeException(Throwable cause)
          用指定的原因和详细消息 (cause==null ? null :cause.toString()) 构造一个新的运行时异常(它通常包含类和 cause 的详细消息)。
SecurityException(String message, Throwable cause)
          用指定详细消息和原因构造一个 SecurityException
SecurityException(Throwable cause)
          用指定的原因和详细消息创建一个 SecurityException,详细消息是 (cause==null ? null :cause.toString())(它通常包含该类和 cause 的详细消息)。
Throwable(String message, Throwable cause)
          构造一个带指定详细消息和 cause 的新 throwable。
Throwable(Throwable cause)
          构造一个带指定 cause 和 (cause==null ? null :cause.toString())(它通常包含类和 cause 的详细消息)的详细消息的新 throwable。
TypeNotPresentException(String typeName, Throwable cause)
          为指定类型构造一个带指定原因的 TypeNotPresentException
UnsupportedOperationException(String message, Throwable cause)
          根据指定的详细消息和原因,构造一个新异常。
UnsupportedOperationException(Throwable cause)
          根据指定的原因和 (cause==null ? null :cause.toString())(它通常包含了 cause 的类和详细消息)的详细消息,构造一个新异常。
 

java.lang.annotationThrowable 的使用
 

java.lang.annotationThrowable 的子类
 class AnnotationFormatError
          当注释分析器试图从类文件读取注释并确定注释出现异常时,抛出该错误。
 class AnnotationTypeMismatchException
          若某个注释的类型在对该注释进行编译(或序列化)后发生了更改,而程序试图访问该注释的元素时,抛出此异常。
 class IncompleteAnnotationException
          若某个注释在编译(或序列化)后将某个注释类型添加到其类型定义中,而程序试图该注释类型的元素时,抛出此异常。
 

参数类型为 Throwablejava.lang.annotation 中的构造方法
AnnotationFormatError(String message, Throwable cause)
          构造带指定详细消息和原因的新 AnnotationFormatError
AnnotationFormatError(Throwable cause)
          构造带指定原因和详细消息的新 AnnotationFormatError,该消息为 (cause == null ? null :cause.toString())(它通常包含 cause 的类和详细消息)。
 

java.lang.instrumentThrowable 的使用
 

java.lang.instrumentThrowable 的子类
 class IllegalClassFormatException
          当其输入参数无效时,由 ClassFileTransformer.transform 的实现抛出该异常。
 class UnmodifiableClassException
          在无法修改指定类之一时,由 Instrumentation.redefineClasses 的实现抛出此异常。
 

java.lang.reflectThrowable 的使用
 

java.lang.reflectThrowable 的子类
 class GenericSignatureFormatError
          当需要解释类型、方法或构造方法的一般签名信息的反射方法遇到语法错误的签名属性时,抛出该错误。
 class InvocationTargetException
          InvocationTargetException 是一种包装由调用方法或构造方法所抛出异常的经过检查的异常。
 class MalformedParameterizedTypeException
          当反射方法遇到语义错误的参数化类型,而反射方法需要实例化该类型时,抛出该异常。
 class UndeclaredThrowableException
          如果代理实例的调用处理程序的 invoke 方法抛出一个经过检查的异常(不可分配给 RuntimeExceptionErrorThrowable),且该异常不可分配给该方法(在代理实例上调用该方法,并将其指派到调用处理程序)的 throws 子句中声明的任何异常类,则由代理实例上的方法调用抛出此异常。
 

返回 Throwablejava.lang.reflect 中的方法
 Throwable InvocationTargetException.getCause()
          返回此异常的原因(抛出的目标异常,可能为 null)。
 Throwable UndeclaredThrowableException.getCause()
          返回此异常的原因(此 UndeclaredThrowableException 中包装的 Throwable 实例,可能为 null)。
 Throwable InvocationTargetException.getTargetException()
          获得抛出的目标异常。
 Throwable UndeclaredThrowableException.getUndeclaredThrowable()
          返回此 UndeclaredThrowableException 中包装的 Throwable 实例,它可能为 null
 

抛出 Throwablejava.lang.reflect 中的方法
 Object InvocationHandler.invoke(Object proxy, Method method, Object[] args)
          在代理实例上处理方法调用并返回结果。
 

参数类型为 Throwablejava.lang.reflect 中的构造方法
InvocationTargetException(Throwable target)
          构造带目标异常的 InvocationTargetException。
InvocationTargetException(Throwable target, String s)
          构造带目标异常和详细消息的 InvocationTargetException。
UndeclaredThrowableException(Throwable undeclaredThrowable)
          根据指定的 Throwable 构造一个 UndeclaredThrowableException
UndeclaredThrowableException(Throwable undeclaredThrowable, String s)
          根据指定的 Throwable 和详细消息构造 UndeclaredThrowableException
 

java.utilThrowable 的使用
 

java.utilThrowable 的子类
 class ConcurrentModificationException
          当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。
 class DuplicateFormatFlagsException
          格式说明符中提供重复标志时抛出的未经检查的异常。
 class EmptyStackException
          该异常由 Stack 类中的方法抛出,以表明堆栈为空。
 class FormatFlagsConversionMismatchException
          转换与标志不兼容时抛出未经检查的异常。
 class FormatterClosedException
          格式化程序已关闭时抛出的未经检查的异常。
 class IllegalFormatCodePointException
          将具有 Character.isValidCodePoint(int) 所定义的无效 Unicode 代码点的字符传递给 Formatter 时,抛出未经检查的异常。
 class IllegalFormatConversionException
          当对应于格式说明符的参数为不兼容的类型时,抛出未经检查的异常。
 class IllegalFormatException
          当格式字符串包含非法语法,或者包含与给定参数不兼容的格式说明符时,将抛出未经检查的异常。
 class IllegalFormatFlagsException
          当给出非法组合标志时,抛出未经检查的异常。
 class IllegalFormatPrecisionException
          当精度为除 -1 以外的负值、转换类型不支持某个精度或者值在其他方面不受支持时,将抛出未经检查的异常。
 class IllegalFormatWidthException
          当格式宽度为除 -1 以外的负值或其他不受支持的值时,将抛出未经检查的异常。
 class InputMismatchException
          由 Scanner 抛出,表明用于检索的标记与期望类型的模式不匹配,或者该标记处在期望类型的范围之外。
 class InvalidPropertiesFormatException
          当按照 Properties 规范,输入内容不符合属性集合的正确 XML 文档类型,从而无法完成操作时,抛出此异常。
 class MissingFormatArgumentException
          如果格式说明符没有相应的参数,或者如果参数索引引用了不存在的参数时,则抛出未经检查的异常。
 class MissingFormatWidthException
          请求格式宽度时抛出未经检查的异常。
 class MissingResourceException
          缺少资源时抛出此异常。
 class NoSuchElementException
          由 EnumerationnextElement 方法抛出,表明枚举中没有更多的元素。
 class TooManyListenersException
           TooManyListenersException 异常用作 Java Event 模型的一部分来注释和实现多播 Event Source 的单播特例。
 class UnknownFormatConversionException
          给定未知的转换时所抛出的未经检查的异常。
 class UnknownFormatFlagsException
          给定未知标志时所抛出的未经检查的异常。
 

参数类型为 Throwablejava.util 中的构造方法
InvalidPropertiesFormatException(Throwable cause)
          构造一个带指定原因的 InvalidPropertiesFormatException。
 

java.util.concurrentThrowable 的使用
 

java.util.concurrentThrowable 的子类
 class BrokenBarrierException
          当某个线程试图等待处于断开状态的 barrier 时,或者 barrier 进入断开状态而线程处于等待状态时,抛出该异常。
 class CancellationException
          如果某项值生成任务(如 FutureTask)的结果因为任务被取消而无法检索到,则抛出该异常。
 class ExecutionException
          当试图检索已通过抛出异常而中止的任务的结果时,抛出此异常。
 class RejectedExecutionException
          当无法执行某个任务时,由 Executor 抛出的异常。
 class TimeoutException
          阻塞操作超时时,抛出该异常。
 

参数类型为 Throwablejava.util.concurrent 中的方法
protected  void ThreadPoolExecutor.afterExecute(Runnable r, Throwable t)
          基于完成执行给定 Runnable 所调用的方法。
protected  void FutureTask.setException(Throwable t)
          除非已经设置了此 Future 或已将其取消,否则它将报告一个 ExecutionException,并将给定的 throwable 作为其原因。
 

参数类型为 Throwablejava.util.concurrent 中的构造方法
ExecutionException(String message, Throwable cause)
          构造带指定详细消息和原因的 ExecutionException
ExecutionException(Throwable cause)
          构造带指定原因的 ExecutionException
RejectedExecutionException(String message, Throwable cause)
          构造带指定详细消息和原因的 RejectedExecutionException
RejectedExecutionException(Throwable cause)
          构造带指定原因的 RejectedExecutionException
 

java.util.jarThrowable 的使用
 

java.util.jarThrowable 的子类
 class JarException
          读取或写入 JAR 文件时,如果发生某种错误,则抛出此异常。
 

java.util.loggingThrowable 的使用
 

返回 Throwablejava.util.logging 中的方法
 Throwable LogRecord.getThrown()
          获取与日志记录相关联的所有 throwable。
 

参数类型为 Throwablejava.util.logging 中的方法
 void Logger.log(Level level, String msg, Throwable thrown)
          记录带有相关的可抛出信息的消息。
 void Logger.logp(Level level, String sourceClass, String sourceMethod, String msg, Throwable thrown)
          记录一条消息,具有指定源类和方法,带有相关的可抛出信息。
 void Logger.logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Throwable thrown)
          记录一条消息,具有指定的源类、方法和资源包名,带有相关的可抛出对象。
 void LogRecord.setThrown(Throwable thrown)
          设置与日志事件相关联的 throwable。
 void Logger.throwing(String sourceClass, String sourceMethod, Throwable thrown)
          正抛出异常的记录。
 

java.util.prefsThrowable 的使用
 

java.util.prefsThrowable 的子类
 class BackingStoreException
          抛出该异常表明由于内部存储故障或者不能联系内部存储而无法完成 preferences 操作。
 class InvalidPreferencesFormatException
          抛出此异常表明根据 Preferences 规范,输入内容不符合 preferences 集合的正确 XML 文档类型,从而无法完成操作。
 

参数类型为 Throwablejava.util.prefs 中的构造方法
BackingStoreException(Throwable cause)
          构造带指定原因的 BackingStoreException。
InvalidPreferencesFormatException(String message, Throwable cause)
          构造带指定详细消息和原因的 InvalidPreferencesFormatException。
InvalidPreferencesFormatException(Throwable cause)
          构造带指定原因的 InvalidPreferencesFormatException。
 

java.util.regexThrowable 的使用
 

java.util.regexThrowable 的子类
 class PatternSyntaxException
          抛出未经检查的异常,表明正则表达式模式中的语法错误。
 

java.util.zipThrowable 的使用
 

java.util.zipThrowable 的子类
 class DataFormatException
          当数据格式发生错误时,抛出此异常。
 class ZipException
          如果某种 ZIP 异常发生,则抛出此错误。
 


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策