语言

JavaException 类

定义

Throwable 类是Java语言中所有错误和异常的超级类。

[Java.Interop.JniTypeSignature("java/lang/Throwable", GenerateJavaPeer=false)]
public class JavaException : Exception, IDisposable, Java.Interop.IJavaPeerable
[<Java.Interop.JniTypeSignature("java/lang/Throwable", GenerateJavaPeer=false)>]
type JavaException = class
    inherit Exception
    interface IJavaPeerable
    interface IDisposable
继承
JavaException
派生
属性
实现

注解

Throwable 类是Java语言中所有错误和异常的超级类。 只有属于此类实例的对象(或其子类之一)由Java虚拟机引发,也可以由 Java throw 语句引发。 同样,只有此类或其子类之一才能成为 catch 子句中的参数类型。 为了对异常进行编译时检查,Throwable 和任何不是 RuntimeException 或 Error 的子类的 Throwable 子类都被视为已检查的异常。 两个子类(Error 和 Exception)的实例通常用于指示发生异常情况。 通常,这些实例是在异常情况的上下文中新建的,以便包括相关信息(如堆栈跟踪数据)。 可引发的包含其线程在执行堆栈的快照(创建时)。 它还可以包含一个消息字符串,该字符串提供有关错误的详细信息。 随着时间的推移,可引发可以禁止传播其他可引发项。 最后,可引发项还可以包含一个原因:另一个可引发的可引发结果导致构造此可引发结果。 此因果信息的记录称为链接异常设施,因为原因本身、原因、原因等等,导致异常的“链”,每个异常都由另一个引起。 引发可引发的原因之一是,引发它的类是在较低分层抽象之上生成的,而上层的操作由于下层中的故障而失败。 让下层引发的可引发性传播向外是错误的设计,因为它通常与上层提供的抽象无关。 此外,这样做会将上层的 API 与其实现的详细信息联系在一起,假设下层的异常是检查的异常。 引发“包装异常”(即包含原因的异常)允许上层将失败的详细信息传达给调用方,而不会产生这些缺点之一。 它保留了在不更改其 API 的情况下更改上层实现的灵活性(特别是其方法引发的异常集)。 引发可引发原因的第二个原因是引发它的方法必须符合不允许该方法直接引发原因的常规用途接口。 例如,假设永久性集合符合集合接口,并且其持久性在 java.io 上实现。 假设 add 方法的内部可以引发 IOException。 实现可以通过将 IOException 包装在适当的未选中异常中,将 IOException 的详细信息传递给其调用方,同时符合集合接口。 (永久性集合的规范应指示它能够引发此类异常。原因可以通过两种方式与可引发的关联:通过采用原因作为参数的构造函数,或通过 initCause(Throwable) 方法。 希望允许原因与其关联的新可引发类应提供采用原因的构造函数,并将原因委托给引发的构造函数之一(也许间接委托)。 由于 initCause 方法是公共方法,因此它允许将原因与任何可引发的项相关联,即使是“旧引发的可引发项”,其实现将异常链接机制添加到 Throwable 之前。 按照约定,类 Throwable 及其子类具有两个构造函数,一个构造函数不采用任何参数,一个构造函数采用可用于生成详细信息消息的 String 参数。 此外,可能具有与其关联的原因的子类应具有两个构造函数,一个构造函数采用可引发(原因),一个使用字符串(详细信息消息)和一个可引发(原因)。

Java参考java.lang.Throwable

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

构造函数

名称 说明
JavaException()

构造一个新的可引发值,其详细信息消息为 null。

JavaException(JniObjectReference, JniObjectReferenceOptions, JniObjectReference)

Throwable 类是Java语言中所有错误和异常的超级类。

JavaException(JniObjectReference, JniObjectReferenceOptions)

Throwable 类是Java语言中所有错误和异常的超级类。

JavaException(String, Exception)

Throwable 类是Java语言中所有错误和异常的超级类。

JavaException(String)

使用指定的详细信息消息构造新的可引发项。

字段

名称 说明
InvalidJniObjectReference

Throwable 类是Java语言中所有错误和异常的超级类。

属性

名称 说明
JavaStackTrace

Throwable 类是Java语言中所有错误和异常的超级类。

JniIdentityHashCode

返回给定对象的哈希代码与默认方法 hashCode()返回的相同哈希代码,无论给定对象的类是否重写 hashCode()。

JniManagedPeerState

Throwable 类是Java语言中所有错误和异常的超级类。

JniPeerMembers

Throwable 类是Java语言中所有错误和异常的超级类。

PeerReference

Throwable 类是Java语言中所有错误和异常的超级类。

StackTrace

Throwable 类是Java语言中所有错误和异常的超级类。

方法

名称 说明
Construct(JniObjectReference, JniObjectReferenceOptions)

Throwable 类是Java语言中所有错误和异常的超级类。

Dispose()

Throwable 类是Java语言中所有错误和异常的超级类。

Dispose(Boolean)

Throwable 类是Java语言中所有错误和异常的超级类。

DisposeUnlessReferenced()

Throwable 类是Java语言中所有错误和异常的超级类。

Equals(Object)

Throwable 类是Java语言中所有错误和异常的超级类。

Finalize()

Throwable 类是Java语言中所有错误和异常的超级类。

GetHashCode()

返回对象的哈希代码值。

SetJavaStackTrace(JniObjectReference)

Throwable 类是Java语言中所有错误和异常的超级类。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Throwable 类是Java语言中所有错误和异常的超级类。

UnregisterFromRuntime()

Throwable 类是Java语言中所有错误和异常的超级类。

显式接口实现

名称 说明
IJavaPeerable.Disposed()

Throwable 类是Java语言中所有错误和异常的超级类。

IJavaPeerable.Finalized()

Throwable 类是Java语言中所有错误和异常的超级类。

IJavaPeerable.JniObjectReferenceControlBlock

Throwable 类是Java语言中所有错误和异常的超级类。

IJavaPeerable.SetJniIdentityHashCode(Int32)

Throwable 类是Java语言中所有错误和异常的超级类。

IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Throwable 类是Java语言中所有错误和异常的超级类。

IJavaPeerable.SetPeerReference(JniObjectReference)

Throwable 类是Java语言中所有错误和异常的超级类。

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于