티스토리 뷰

파이썬/예외 처리

예외 처리 방법

코린이도이 2020. 11. 4. 17:03

예외 처리 방법

try, except 구문

  • 예외가 발생할 수 있는 상황을 예상하여 예외를 제어할 수 있음

  • try: (예외 발생 가능한) 일반적인 수행문들

  • except: 예외가 발생하였을 때 수행문들

  • 프로그램 실행에 치명적이지 않은 오류지만, 오류로 인해 프로그램 실행이 멈추는 것을 방지하려면? → 예외를 그냥 넘어가고 싶은 경우 pass 키워드 사용

a = input('정수 입력: ')

try:
    a = float(a)
    print('반지름 : ', a)
    print('둘레 : ', 2 * 3.14 * a)
    print('넓이 : ', 3.14 * a * a)
except:
    print('예외 발생!!!') #예외가 발생하였을 때 출력할 값

else 구문

  • try, except 뒤에 else를 붙여서 사용하면, 예외가 발생하지 않았을 때 실행할 코드를 지정할 수 있음 예외가 발생할 수 있는 코드만 try에 넣어서 활용(가독성, 유지보수 향상)

a = input('정수 입력 : ')

try:
    a = float(a)
except:
    print('예외 발생 !!')
else:
    print('반지름 : ', a)
    print('둘레 : ', 2 * 3.14 * a)
    print('넓이 : ', 3.14 * a * a)

finally 구문

  • try, except, else 뒤에 finally를 붙여서 사용하면, 예외 발생 유무에 관계 없이 실행되는 코드를 작성할 수 있음

try, except, else, finally 구문

  • 규칙

    • try 구문은 단독으로 사용할 수 없음

    • else 구문은 반드시 except 구문 뒤에 와야 함

  • 아래 조합 외에는 오류 발생

    • try + except

    • try + except + else

    • try + except + finally

    • try + except + else + finally

    • try + finally

예외 객체와 예외 구분

예외 객체

  • 예외가 발생하면, 예외와 관련된 정보가 생성(예외 객체로 활용 가능)

  • try: (예외 발생 가능한) 일반적인 수행문들

  • except 예외의 종류 as 예외 객체를 활용할 변수: 예외가 발생했을 때 수행문들

  • 예외의 종류를 모르겠다면, exception(모든 예외 포함)

예외 구분

  • 예외 객체를 활용해 조건문처럼 예외 종류에 따라 다른 코딩을 할 수 있음

  • try: (예외 발생 가능한) 일반적인 수행문들

  • except 예외 종류 A: 예외가 발생했을 때 수행문들

  • except 예외 종류 B: 예외가 발생했을 때 수행문들

  • except 예외 종류 C: 예외가 발생했을 때 수행문들

예외 구분의 잘못된 예

  • 예외 처리의 순서(예외의 포함 관계): Arithmetic > ZeroDivision

강제로 예외 발생시키기

  • raise 예외 종류(메시지)

a = input('정수 입력 : ')
a = int(a)

if (a > 0):
    raise Exception
else:
    print('음수입니다.')

예외 처리 활용

  • 예외 처리에서 가장 중요한 것: 이 코드에서 어떤 경우에 어떤 예외가 발생할 것인가?

'파이썬 > 예외 처리' 카테고리의 다른 글

파이썬 예외 처리 실습해보기  (0) 2020.11.04
파이썬 예외 처리  (0) 2020.11.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함