JavaException 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 Virtual Machine에 의해 throw되거나 Java throw 문에 의해 throw될 수 있습니다. 마찬가지로 이 클래스 또는 해당 서브클래스 중 하나만 catch 절의 인수 형식일 수 있습니다. 예외를 컴파일 시간 검사하기 위해 Throw 가능 및 RuntimeException 또는 오류의 하위 클래스가 아닌 Throwable의 하위 클래스는 확인된 예외로 간주됩니다. 두 하위 클래스의 인스턴스인 오류 및 예외는 일반적으로 예외 상황이 발생했음을 나타내는 데 사용됩니다. 일반적으로 이러한 인스턴스는 관련 정보(예: 스택 추적 데이터)를 포함하도록 예외적 상황의 컨텍스트에서 새로 만들어집니다. throw할 수 있는 스레드를 만들 때 해당 스레드의 실행 스택의 스냅샷을 포함 합니다. 오류에 대한 자세한 정보를 제공하는 메시지 문자열을 포함할 수도 있습니다. 시간이 지남에 따라 throw 가능한 다른 throw 가능 항목이 전파되지 않도록 할 수 있습니다. 마지막으로, throw 가능 항목에는 이 throw 가능 개체를 생성한 또 다른 throw 가능한 원인이 포함될 수 있습니다. 이 인과 정보의 기록을 연결된 예외 시설이라고 하며, 원인 자체에 원인이 있을 수 있으므로 예외의 "체인"으로 이어져 각각 다른 원인으로 인해 발생합니다. throw할 수 있는 원인 중 하나는 throw하는 클래스가 하위 계층 추상화 위에 빌드되고 하위 계층의 오류로 인해 상위 계층에 대한 작업이 실패하기 때문입니다. 일반적으로 상층에서 제공하는 추상화와 관련이 없으므로 하위 계층에 의해 throw된 throw 가능한 개체가 바깥쪽으로 전파되도록 하는 것은 잘못된 디자인입니다. 또한 이렇게 하면 하위 계층의 예외가 확인된 예외라고 가정하여 상위 계층의 API를 해당 구현의 세부 정보와 연결합니다. "래핑된 예외"(즉, 원인이 포함된 예외)를 throw하면 상층이 이러한 단점 중 하나를 발생시키지 않고 오류의 세부 정보를 호출자에게 전달할 수 있습니다. API(특히 메서드에서 throw된 예외 집합)를 변경하지 않고 상층 계층의 구현을 변경할 수 있는 유연성을 유지합니다. throw할 수 있는 원인이 있을 수 있는 두 번째 이유는 throw하는 메서드가 메서드가 원인을 직접 throw하는 것을 허용하지 않는 범용 인터페이스를 준수해야 하기 때문입니다. 예를 들어 영구 컬렉션이 컬렉션 인터페이스를 준수하고 해당 지속성이 java.io 위에 구현되었다고 가정합니다. add 메서드의 내부가 IOException을 throw할 수 있다고 가정합니다. 구현은 IOException을 적절한 선택되지 않은 예외로 래핑하여 컬렉션 인터페이스를 준수하면서 IOException의 세부 정보를 호출자에게 전달할 수 있습니다. (영구 컬렉션에 대한 사양은 이러한 예외를 throw할 수 있음을 나타내야 합니다.) 원인은 원인을 인수로 사용하는 생성자를 통해 또는 initCause(Throwable) 메서드를 통해 두 가지 방법으로 throw할 수 있습니다. 원인과 연결되도록 허용하려는 새 throw 가능한 클래스는 원인을 가져와서(아마도 간접적으로) 원인을 취하는 Throw 가능한 생성자 중 하나에 위임하는 생성자를 제공해야 합니다. initCause 메서드는 public이기 때문에 throw 가능한 모든 원인과 연결할 수 있으며, 예외 체인 메커니즘을 Throw 가능에 추가하기 이전의 구현인 "레거시 throw 가능"에도 연결할 수 있습니다. 규칙에 따라 Throwable 클래스와 해당 서브클래스에는 인수를 사용하지 않는 생성자와 세부 메시지를 생성하는 데 사용할 수 있는 String 인수를 사용하는 생성자가 두 개 있습니다. 또한 관련 원인이 있을 수 있는 하위 클래스에는 Throwable(원인)을 사용하는 생성자와 String(세부 메시지) 및 Throwable(원인)을 사용하는 생성자가 두 개 더 있어야 합니다.
에 대한 java.lang.ThrowableJava 참조
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
생성자
| Name | Description |
|---|---|
| JavaException() |
null이 포함된 새 throw 가능 개체를 세부 정보 메시지로 생성합니다. |
| JavaException(JniObjectReference, JniObjectReferenceOptions, JniObjectReference) |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
| JavaException(JniObjectReference, JniObjectReferenceOptions) |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
| JavaException(String, Exception) |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
| JavaException(String) |
지정된 세부 정보 메시지를 사용하여 throw 가능한 새 개체를 생성합니다. |
필드
| Name | Description |
|---|---|
| InvalidJniObjectReference |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
속성
| Name | Description |
|---|---|
| JavaStackTrace |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
| JniIdentityHashCode |
지정된 개체의 클래스가 hashCode()를 재정의하는지 여부에 관계없이 기본 메서드 hashCode()에서 반환하는 것과 동일한 해시 코드를 반환합니다. |
| JniManagedPeerState |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
| JniPeerMembers |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
| PeerReference |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
| StackTrace |
Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
메서드
| Name | Description |
|---|---|
| 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 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| 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 언어의 모든 오류 및 예외의 슈퍼 클래스입니다. |
확장명 메서드
| Name | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
인스턴스 |
| JavaAs<TResult>(IJavaPeerable) |
형식 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
형식 |