Programming/Python

[Python] 파이썬 Exception 처리하기

쌍쌍바나나 2016. 5. 19. 13:44
반응형

파이썬 예외처리(Exception 처리하기)

예제코드

  프로그래밍을 하면서 중요한 것 중에 하나가 바로 예외처리입니다.  Exception의 종류는 코드 상에서 컴파일러가 처리해주는 Exception이 있고, 실행하는 과정에서 발생하는 Exception이 있습니다. 실행 과정에서 생기는 Exception은 처리하지 않을 경우에는 프로그램이 종료되는 엄청난 치명적인 결과를 직면할 수 있기 때문에, 예외처리를 꼭 해줘야 하는데요. 이번에는 python에서 예외처리하는 방법에 대해서 설명하려고 합니다. 저 같은 경우에는 예외처리를 다 잡아놓고 detail을 항상 출력을 해서 확인을 하고 있습니다. 중간에 종료되는게 너무 싫어서 프로그램은 한번 돌고, 만약 실행과정에서 발생하는 Exception이 발생하면 화면에 출력을 모두 해주면, 그 모든 Exception을 처리한 후에 다시 돌리는게 편하더라구요. 만약에 이렇게 안하면 프로그램이 종료되고, 수정하고, 종료되고, 수정하고를 반복해야하는 불편함이 있습니다.


예제코드

  아래 예제는 Runtime Exception의 아주 가장 흔한 예중에 하나인 0으로 값을 나눴을때 발생하는 Exception입니다. 해당 Exception은 컴파일러에서는 catch가 되지 않기 때문에 예외 처리를 해줘야 합니다. 위에 예외처리 전은 코드를 실행하다가 종료가 되겠죠. 저 같은 경우에는 예외 처리를 한 후의 코드를 선호합니다. 습관이 들어야 좋더라구요. 그래야 코딩할때도 Runtime Exception을 생각하면서 구현하니까. 예외처리 후에는 Exception이 발생하면 프로그램은 종료하지 않고 detail에 Exception 정보가 담겨 있습니다. print detail을 하게 되면 아래와 같이 왜 Exception이 발생했는지 원인을 확인 할 수 있습니다. 
# 예외 처리 전
a = 10 / 0 
ZeroDivisionError: integer division or modulo by zero

# 예외 처리 후
try:
    a = 10 / 0
except (Exception) as detail:
    print detail

# integer division or module by zero


반응형