Throwable 클래스

정의

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

[Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)]
public class Throwable : Exception, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)>]
type Throwable = class
    inherit Exception
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ISerializable
상속
Throwable
파생
특성
구현

설명

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. 이 클래스의 인스턴스(또는 해당 하위 클래스 중 하나)인 개체만 Java Virtual Machine에서 throw되거나 Java throw 문에서 throw할 수 있습니다. 마찬가지로 이 클래스 또는 해당 하위 클래스 중 하나만 절의 인수 형식 catch 일 수 있습니다.

예외 Throwable 를 컴파일 시간 검사하기 위해 및 의 하위 클래스 Throwable 가 또는 의 RuntimeExceptionError 하위 클래스가 아닌 경우 확인된 예외로 간주됩니다.

두 서브클래스 java.lang.Errorjava.lang.Exception의 인스턴스는 일반적으로 예외적인 상황이 발생했음을 나타내는 데 사용됩니다. 일반적으로 이러한 인스턴스는 관련 정보(예: 스택 추적 데이터)를 포함하도록 예외 상황의 컨텍스트에서 새로 만들어집니다.

throw 가능한 에는 스레드를 만들 때 스레드의 실행 스택에 대한 스냅샷 포함됩니다. 오류에 대한 자세한 정보를 제공하는 메시지 문자열을 포함할 수도 있습니다. 시간이 지남에 따라 throw 가능한 는 Throwable#addSuppressed가 다른 throw 가능 개체가 전파되지 않도록 억제할 수 있습니다. 마지막으로 throw할 수 있는 원인이 포함될 수도 있습니다. 이 throw 가능 개체를 생성한 또 다른 throw 가능 개체입니다. 이 인과 정보의 기록을 연결된 예외 시설이라고 합니다. 원인 자체에는 원인이 있을 수 있으므로 각각 다른 예외에 의해 발생하는 예외의 "체인"이 발생합니다.

throw 가능한 가 원인일 수 있는 한 가지 이유는 throw하는 클래스가 하위 계층 추상화 위에 빌드되고 하위 계층의 오류로 인해 상위 계층에서 작업이 실패하기 때문입니다. 일반적으로 상층에서 제공하는 추상화와 관련이 없으므로 하위 계층에서 throw할 수 있는 가 바깥쪽으로 전파되도록 하는 것은 잘못된 디자인입니다. 또한 이렇게 하면 하위 계층의 예외가 확인된 예외라고 가정하여 상위 계층의 API를 해당 구현의 세부 정보와 연결합니다. "래핑된 예외"(즉, 원인이 포함된 예외)를 throw하면 상층이 이러한 단점 중 하나를 발생시키지 않고 호출자에게 오류의 세부 정보를 전달할 수 있습니다. API(특히 메서드에서 throw된 예외 집합)를 변경하지 않고 상위 계층의 구현을 변경할 수 있는 유연성을 유지합니다.

throw 가능한 가 원인일 수 있는 두 번째 이유는 throw하는 메서드가 메서드가 원인을 직접 throw하는 것을 허용하지 않는 범용 인터페이스를 준수해야 하기 때문입니다. 예를 들어 영구 컬렉션이 인터페이스를 java.util.Collection Collection 준수하고 해당 지속성이 위에 java.io구현되었다고 가정합니다. 메서드의 내부가 를 throw할 add 수 있다고 가정합니다 java.io.IOException IOException. 구현은 적절한 확인되지 않은 예외로 를 래핑 IOException 하여 인터페이스를 Collection 준수하는 동안 호출자에게 의 세부 정보를 IOException 전달할 수 있습니다. (영구 컬렉션의 사양은 이러한 예외를 throw할 수 있음을 나타내야 합니다.)

원인을 인수로 사용하는 생성자를 통해 또는 #initCause(Throwable) 메서드를 통해 두 가지 방법으로 throw할 수 있는 원인과 연결할 수 있습니다. 원인과 연결되도록 허용하려는 새 throw 가능한 클래스는 원인을 가져와서 원인을 취하는 생성자 중 Throwable 하나에 (간접적으로) 위임하는 생성자를 제공해야 합니다.

메서드는 initCause public이므로 예외 체인 메커니즘 Throwable을 에 추가하기 전에 구현된 "레거시 throw 가능"조차도 throw 가능한 모든 에 원인을 연결할 수 있습니다.

규칙에 따라 클래스 Throwable 와 해당 서브클래스에는 인수를 사용하지 않는 생성자와 세부 메시지를 생성하는 데 사용할 수 있는 인수를 String 사용하는 생성자가 두 개 있습니다. 또한 이와 관련된 원인이 있을 수 있는 하위 클래스에는 (원인)를 사용하는 Throwable 생성자와 (세부 메시지) 및 Throwable (원인)을 사용하는 String 생성자가 두 개 더 있어야 합니다.

1.0에 추가되었습니다.

에 대한 Java 설명서입니다 java.lang.Throwable.

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

Throwable()

을 세부 정보 메시지로 사용하여 null throw할 수 있는 새 를 생성합니다.

Throwable(IntPtr, JniHandleOwnership)

JNI 개체의 관리형 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

Throwable(String)

지정된 세부 정보 메시지를 사용하여 throw 가능한 새 을 생성합니다.

Throwable(String, Throwable)

지정된 세부 정보 메시지 및 원인으로 throw할 수 있는 새 를 생성합니다.

Throwable(String, Throwable, Boolean, Boolean)

지정한 세부 정보 메시지, 원인, #addSuppressed 표시 안 함 사용 또는 사용 안 함, 쓰기 가능한 스택 추적을 사용하거나 사용하지 않도록 설정하여 throw할 수 있는 새 를 생성합니다.

Throwable(Throwable)

지정된 원인과 의 세부 메시지(일반적으로 의 클래스 및 세부 메시지 (cause==null ? null : cause.toString())cause포함)를 사용하여 throw 가능한 새 를 생성합니다.

필드

is_generated

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

속성

Cause

이 throw 가능 항목의 원인을 반환하거나 null 원인이 존재하지 않거나 알 수 없는 경우 를 반환합니다.

Class

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

Handle

기본 Android instance 대한 핸들입니다.

JniIdentityHashCode

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

JniPeerMembers

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

LocalizedMessage

이 throw 가능 개체에 대한 지역화된 설명을 만듭니다.

Message

이 throw 가능 항목의 세부 정보 메시지 문자열을 반환합니다.

PeerReference

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

StackTrace

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

AddSuppressed(Throwable)

이 예외를 전달하기 위해 표시되지 않은 예외에 지정된 예외를 추가합니다.

Dispose()

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

Dispose(Boolean)

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

FillInStackTrace()

실행 스택 추적을 채웁니다.

Finalize()

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

FromException(Exception)

ExceptionThrowable으로 변환합니다.

GetStackTrace()

에서 인쇄 #printStackTrace()한 스택 추적 정보에 프로그래밍 방식으로 액세스할 수 있도록 합니다.

GetSuppressed()

이 예외를 전달하기 위해 일반적으로 -with-resources 문에 의해 try표시되지 않은 모든 예외가 포함된 배열을 반환합니다.

InitCause(Throwable)

이 throw 가능 개체의 원인을 지정된 값으로 초기화합니다.

PrintStackTrace()

이 throw 가능 및 해당 역추적을 표준 오류 스트림에 인쇄합니다.

PrintStackTrace(PrintStream)

이 throw 가능 및 해당 백트레이스를 지정된 인쇄 스트림에 인쇄합니다.

PrintStackTrace(PrintWriter)

이 throw 가능 항목과 해당 백트레이스를 지정된 인쇄 기록기에 인쇄합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

SetStackTrace(StackTraceElement[])

및 관련 메서드에 의해 #getStackTrace()#printStackTrace() 반환되고 인쇄될 스택 추적 요소를 설정합니다.

ToException(Throwable)

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

ToString()

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

UnregisterFromRuntime()

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

명시적 인터페이스 구현

IJavaPeerable.Disposed()

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

IJavaPeerable.DisposeUnlessReferenced()

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

IJavaPeerable.Finalized()

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

IJavaPeerable.JniManagedPeerState

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

IJavaPeerable.SetJniIdentityHashCode(Int32)

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

IJavaPeerable.SetPeerReference(JniObjectReference)

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

GetJniTypeName(IJavaPeerable)

클래스는 Throwable Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다.

적용 대상