finally - 해당되는 글 1건
좋은 프로그래밍 습관은 프로그램에서 발생할 수 있는 문제들을 미리 생각해 보고 그에 대처하는 것이다. 프로그램을 비정상 종료시키는 조건을 테스트하여 메시지를 표시하고, 프로그램을 종료시키거나 다른 액션을 취하는 식으로 문제를 해결할  수 있다.

경고메세지를 받더라도 프로그래믈 빌드하고 실행할 수 있다. 그러나 경고 메세지를 무시하고 실행하면 프로그램은 비정상 종료하게 되고 오류를 보게 될 것이다. 이렇게 프로그램이 비정상 종료되는 것을 막으려면 다음과 같이 특별한 명령문 블록안에 명령문들을 넣어 주면 된다.

@try
{
     statement
     statement
     ....
}
@catch(NSException *exception)
{
     statement
     statement
     ...
}

@try 블록에 있는 각 statement 역시 일반적인 명령문과 동일하게 실행된다. 그러나 블록 안에 있는 이 명령문 가운데 하나가 예외를 날리면, 실행은 종료되지 않고 @catch 블록으로 넘어간다. 그리고 catch 블록 안에서 날라온 예외를 처리하게 된다. 이때 취할 수 있는 방법은 오류 메시지를 기록하고 정리한 후 실행을 종료하는 것이다.

예외가 발생하면 @catch 블록이 실행된다. 이 예외에 대한 정보를 담고 있는 NSException 객체가 이 블록의 인수로 넘겨진다. @catch 블록에 있는 마지막 명령문이 실해오디고 나면, 프로그램은 그 블록 뒤의 명령문을 이어서 실행한다.

@finally 블록을 사용하면 @try 블록에서 예외를 던지든 던지지 않든 실행할 코드를 추가할 수 도 있다.

저작자 표시
신고

'Study > Objective-C' 카테고리의 다른 글

[Objective C: 접근 제한자]  (0) 2010.07.17
[Objective C: 초기화 메서드]  (0) 2010.07.17
[Objective C: 예외처리]  (0) 2010.07.17
[Objective C: 동적바인딩과 id형]  (0) 2010.07.17
[Objective C: @class 지시어]  (0) 2010.07.16
[Objective C: 상속]  (0) 2010.07.16
Trackback 0 | Comment 0

강군v's Blog is powered by Daum & tistory

 

티스토리 툴바