言語

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言語のすべてのエラーと例外のスーパークラスです。 このクラスのインスタンス (またはそのサブクラスの 1 つ) であるオブジェクトのみが、Java仮想マシンによってスローされるか、Java throw ステートメントによってスローされます。 同様に、catch 句の引数型にできるのは、このクラスまたはサブクラスの 1 つだけです。 例外のコンパイル時のチェックのために、Throwable と、RuntimeException または Error のサブクラスでもない Throwable のサブクラスは、チェックされた例外と見なされます。 Error と Exception という 2 つのサブクラスのインスタンスは、通常、例外的な状況が発生したことを示すために使用されます。 通常、これらのインスタンスは、関連する情報 (スタック トレース データなど) を含むように、例外的な状況のコンテキストで新しく作成されます。 throwable には、作成時のスレッドの実行スタックのスナップショットが含まれます。 また、エラーに関する詳細情報を提供するメッセージ文字列を含めることもできます。 時間の経過と同時に、スロー可能なスロー可能な他のスロー可能が伝達されないようにすることができます。 最後に、throwable には、このスロー可能なオブジェクトを構築する原因となった別のスロー可能な原因を含めることもできます。 この因果情報の記録は、原因自体に原因がある可能性があるため、チェーン例外機能と呼ばれ、それぞれが別の例外によって引き起こされる例外の "チェーン" につながります。 スロー可能な場合に原因が考えられる理由の 1 つは、スローするクラスが下位レイヤーの抽象化の上に構築され、上位レイヤーの操作が下位レイヤーの障害のために失敗する場合です。 一般的に上層によって提供される抽象化とは無関係であるため、下位レイヤーによってスローされるスロー可能なオブジェクトを外側に伝播させるのは不適切な設計です。 さらに、これを行うと、上位レイヤーの API がその実装の詳細に結び付けられます。これは、下位レイヤーの例外がチェックされた例外であると仮定します。 "ラップされた例外" (つまり、原因を含む例外) をスローすると、上位レイヤーは、これらの欠点のいずれかを発生させることなく、エラーの詳細を呼び出し元に伝達できます。 API (特に、メソッドによってスローされる例外のセット) を変更することなく、上位レイヤーの実装を柔軟に変更できます。 スロー可能な場合に原因が考えられる 2 つ目の理由は、スローするメソッドが原因を直接スローすることを許可しない汎用インターフェイスに準拠している必要があるということです。 たとえば、永続的なコレクションが Collection インターフェイスに準拠しており、その永続化が java.io の上に実装されるとします。 add メソッドの内部が IOException をスローできるとします。 実装では、IOException を適切なチェックされていない例外でラップすることで、コレクション インターフェイスに準拠しながら、IOException の詳細を呼び出し元に伝えることができます。 (永続コレクションの仕様は、このような例外をスローできることを示す必要があります)。原因は、引数として原因を受け取るコンストラクターを介して、または initCause(Throwable) メソッドを介して、2 つの方法でスロー可能に関連付けることができます。 原因を関連付けできるようにする新しいスロー可能なクラスは、原因を受け取るコンストラクターと、原因を受け取る Throwable コンストラクターのいずれかに (おそらく間接的に) デリゲートするコンストラクターを提供する必要があります。 initCause メソッドはパブリックであるため、例外チェーン メカニズムを Throwable に追加する前の実装を持つ "レガシ スロー可能" であっても、スロー可能な原因に関連付けられます。 慣例により、Throwable クラスとそのサブクラスには 2 つのコンストラクターがあります。1 つは引数を受け取らなくなり、1 つは詳細メッセージを生成するために使用できる String 引数を受け取ります。 さらに、原因が関連付けられている可能性があるサブクラスには、さらに 2 つのコンストラクターが必要です。1 つは Throwable (原因) を受け取り、もう 1 つは String (詳細メッセージ) と Throwable (原因) を受け取ります。

Javaリファレンス。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
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側で有効であることを確認します。

適用対象