[python] try ~ except를 이용한 에러처리 updated_at: 2024-12-14 18:31

try except

try except는 에러를 만났을때 다양한 처리가 가능하다.

구문

try:
  # 실행 구문
  ..........
except:
  # 에러가 발생했을때 처리 구문
  ..........
finally
  # 최종
  ..........

except

except는 어떤 에러인지에 따라 그 부분을 명시해 주어야 한다. 구문에서 에러가 발생하면 그 앞 구문을 그대로 넣어 주면 됩니다.

  • json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
import json

try:
except json.decoder.JSONDecodeError:
  print('The string does NOT contain valid JSON')
except:
finally
  • ValueError: could not convert string to float:
try:
except ValueError:
  ..........
except:
finally
try:
except ValueError as e:
  print('I got a ValueError - reason "%s"' % str(e))
except:
finally

raise

raise는 에러를 발생시킬때 사용합니다.
프로그램에서 raise를 만나면 프로그램이 죽으면서 자세한 내용을 디스플레이 합니다.

raise + Except Error

아래처럼 하면 ValueError 에 대한 에러를 발생시킵니다.

raise ValueError

raise + 메시지

raise Exception('어느 어느 코드에서 에러 발생')

traceback

except를 사용할 경우 print('I got a ValueError - reason "%s"' % str(e)) 최종적인 단순한 메시지 만이 확인 가능합니다.
raise를 사용하면 자세한 에러내용과 발생한 곳등을 볼 수 있지만 이럴 경우 프로그램이 죽어 버리는 단점이 있습니다.
이럴 경우 사용할 수 있는 것이 traceback 입니다.

import traceback
..........
try:
except ValueError as e:
  traceback.print_exc()
finally:
    pass
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글


정말 잘 보고 있어요