파이썬 예외 처리



예외 처리의 필요성



프로그램을 수행하다가 예외가 발생하면 강제 종료가 되어 버린다.

예외가 발생해 프로그램 수행이 종료 되더라도 리소스 반환과 사용자가 알 수 있는 메시지를 출력하여

우화하게 종료 될 수 있도록 예외처리를 해야 한다.


다음 예제는 강제 종료가 되는 예제이다.


#!/usr/bin/python

# -*- coding: utf-8 -*-


retval = 10/0


아래와 같이 프로그램이 강제 종료가 된다.


Traceback (most recent call last):

  File "C:/6.��α� �����/python/try.py/try.py", line 4, in <module>

    retval = 10/0
ZeroDivisionError: integer division or modulo by zero



예외 처리 try ~ except




예외 처리를 하는 방법은 아래와 같다.

try: 다음에 예외가 발생 할지 모르는 실행문을 작성합니다.

예외가 발생하면 발생한 지점 이후는 실행하지 않고

바로 except 로 이동을 합니다.

except 다음에 프로그램을 실행 합니다.


 try:

   [예외가 발생하는 실행 문]

 except 발생오류 as 오류 메시지 변수 :

   [보통 오류 메시지 발생된 것을 출력]



위의 예제를 예외처리 해보겠습니다.

#!/usr/bin/python

# -*- coding: utf-8 -*-


try:

    retval = 10/0

except ZeroDivisionError as e :

    print(e)



아래와 같이 예외가 발생하여 메시지만 출력이 되며 강제 종료 되지 않는다.


integer division or modulo by zero



예외 처리 try ~ except ~ else




try 문에 수행 후 예외가 발생하지 않을 경우는 else를 사용해 실행문을 작성



 try:

   [예외가 발생하는 실행 문]

 except 발생오류 as 오류 메시지 변수 :

   [보통 오류 메시지 발생된 것을 출력]

 else:

   [예외 발생 하지 않을 경우 실행 문]


else를 사용하는 예제를 보겠습니다.

#!/usr/bin/python

# -*- coding: utf-8 -*-


try:

    retval = 10/2

except ZeroDivisionError as e :

    print(e)

else :
    print("retval : %d"%retval)


예외가 발생하지 않아 retval 값이 출력 된다.


retval : 5



이상으로 파이썬에서 예외처리 방법에 대해 설명 드렸습니다.

도움이 되셨나요?

반응형

'프로그램 > Python' 카테고리의 다른 글

[Python] Python cmd 결과 값 받는 방법  (0) 2016.12.12
[Python] 예외처리 try, finally, except pass  (0) 2016.11.28
[Python] 모듈 #2  (0) 2016.11.13
[Python] 모듈 #1  (0) 2016.11.12
[Python]클래스(3)  (0) 2016.11.02

+ Recent posts