GnuSmalltalkUsersGuide:BaseChapter 069

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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