GnuSmalltalkUsersGuide:BaseChapter 069

From 흡혈양파의 번역工房
Jump to: navigation, search
Exception

Exception

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: Signal

범주: 언어-예외


예외는 CoreExceptions와는 다른 방식으로 예외적 이벤트의 특성을 정의한다. 객체의 계층구조를 생성하고 객체의 속성을 설정하는 대신 클래스의 계층구조를 생성하여 그 클래스에서 메서드를 오버라이드한다; 공통 클래스 Signal의 인스턴스 대신 그러한 클래스의 인스턴스가 처리기로 전달된다.
내부적으로 Exception와 그것의 모든 서브클래스는 CoreException를 고수하므로 두 개의 메커니즘은 사실상 서로 교대로 사용된다.


Exception 클래스: 비교

goodness: anException

수신자가 주어진 예외를 얼마나 잘 처리하는지를 응답하라. 음수값은 수신자가 예외를 처리할 수 없음을 의미한다.

handles: anException

수신자가 'anException'을 처리하는지 여부를 응답하라.


Exception 클래스: ExceptionCollections 생성하기

, aTrappableEvent

수신자 내의 모든 예외와 TrappableEvent 내의 모든 예외를 포함하는 ExceptionCollection을 응답하라.


Exception 클래스: 초기화

initialize

중앙 예외 처리 시스템과 ANSI 예외 처리 시스템 간 '링크'를 초기화하라.


Exception 클래스: 인스턴스 생성

new

추후에 시그널링이 가능한 수신자의 인스턴스를 생성하라.

signal

수신자의 인스턴스를 생성하고 그것에게 기본 속성을 부여한 후 즉시 시그널링하라.

signal: messageText

수신자의 인스턴스를 생성하고 그 메시지 텍스트를 설정하여 즉시 시그널링하라.


Exception 클래스: TrappableEvents와의 상호운용성

allExceptionsDo: aBlock

Private - coreException 를 aBlock으로 전달하라.

coreException

Private - 수신자의 인스턴스를 표현하는 coreException을 응답하라.


Exception: 비교

= anObject

수신자가 anObject와 같은지 여부를 응답하라. 수신자 또는 그것의 coreException이 anObject와 같은 객체일 경우 true가 된다.

hash

수신자에 대한 해시값을 응답하라.


Exception: 예외 설명

defaultAction

수신자에 부착된 기본 액션을 실행하라.

description

예외에 관한 텍스트 설명을 응답하라.

isResumable

true를 응답하라. 예외는 기본적으로 재개가능하다.


Exception: 예외 시그널링

signal

수신자가 표현한 예외 이벤트를 발생시켜라.

signal: messageText

수신자가 표현한 예외 이벤트를 발생시키고 그 메시지 텍스트를 messageText로 설정하라.


Notes