티스토리 뷰

 

python에서 예외가 발생하면 프로그램에서 try/except/finally 절을 이용해서 적절하게 처리할 수 있습니다.

 

기본적인 형태는 대략 아래와 같습니다.

    
try:
   예외가 예상되는 구문
except 예외조건:
   예외가 발생되었을 때의 구문
else:
   예외가 발생되지 않았을 때의 구문
finally:
   예외 여부와 별개로 무조건 실행되어야 하는 구문

 

하지만 주의 할 점이 있으니, finally이 try/except와 함께 mix되서 사용은 python 2.5 버전 이상부터 가능합니다.

python release notes

Implementation of PEP 341 - Unification of try/except and try/finally.
  "except" clauses can now be written together with a "finally" clause in
  one try statement instead of two nested ones.  Patch #1355913.

 

아래는 2.4.3 python에서 try/except/finally를 함께 사용했을 때의 SyntaxError. 

 

해서, 관련 구문을 중첩 된 try절로 만들어야 되는데, 여기도 주의해야 할 사항이 있습니다.

python은 줄(열)이 잘 맞아야 제대로 인식을 하고, 그렇지 않으면 에러가 발생 된다는 점. 주의하도록 합니다.

(이는 begin...end나 {}를 사용하지 않는 언어이기 때문에 들여쓰기로 블럭을 구분합니다. 놀랍지 않은가요? 결국 프로그래머에게 강제로 가독성 높은 코드를 생산하도록 만들어버립니다.)

또한 가장 바깥쪽에 있는 블록의 코드는 반드시 1열부터 시작해야 하는데 아래 코드를 통해 확인하도록 합니다.

  
>>> a = 1
>>> 
>>>  a = 1
  File "", line 1
    a = 1
    ^
SyntaxError: invalid syntax
>>> 

 

 

 

 

댓글
댓글쓰기 폼