티스토리 뷰

1. try - except 구문 사용법


Java에 익숙한 사람들은 모두다 try-catch구문을 알고 있을 것이다.

try{
  //some impelmentation
}catch(Exception e){
  //error handling
  e.printStackTrace()
}

그럼 파이썬에서는 이러한 구문이 없을까? try - except 구문이 있다. 한번 살펴보자

try :
   # some implementation
except Exception, msg :
   # Error handling comes here
   print("Error occured : "+str(msg))
   pass

딱 보면 감이 올것이다.
some implementation 부분에 에러발생이 가능한 코드가 들어가고
그에대한 exception처리는 except 블락 안쪽에 들어간다.
pass는 exception처리한 뒤 그대로 아래쪽 코드 플로우를 이어가는 것이다.


2. 파이썬의 error stack 확인법


Exception 이 발생 했을때 발생 Error에 대한 스택을 출력하고 싶을때가 있다.
그럴때 다음의 소스를 사용하면 된다. 

import traceback
...
try :
   # some implementation
except Exception, msg :
   # Error handling comes here
   traceback.print_exc()  # 에러스택 정보를 stdout으로 print
   errStr = traceback.format_exc() # 에러스택 정보를 String으로 반환

Traceback 이라는 것을 사용하면 되는데,
traceback.print_exc() 부분을 except 내부에서 사용하게 될 경우,
Error의 발생 위치를 추적할 수 있는 Call stack을 출력해준다.


댓글