Python/개념익히기

예외처리

ADELA_J 2023. 4. 10. 23:19

* 오류 : error 

  1. 실행 전 발생하는 오류 : 구문오류 Syntax error

  2. 실행 중 발생 하는 오류 :  예외 exception/ 런타임 오류 runtime error

 

1. Syntax error : 괄호 갯수, 들여쓰기 등의 문제로 실행되기 전 발생되는 오류. > 제대로 써야지 해결

2. exception / runtime error : 코드를 제대로 작성하면 해결됨. 

 

3. 예외 처리 : exception handling, 예외를 해결 하는 모든 것. 실행은 되어야지 예외처리 가능. 

      ▶ syntax error 는 실행 조차 안되기 때문에 안됨. 

 

  a. 조건문을 사용하는 방법 : 기본 예외 처리

user = input("정수입력>")

if user.isdigit():
    number = int(user)
    print("반지름",number)
    print("원의둘레", 2*3.14*number)
    print("원의넓이", 3.14*number*number)
else:
    print("정수가입력이되지아니하였다")

  b. try / except / else / finally

    ▶ try : 예외가 발생할 가능성이 있는 코드

        except : 예외가 발생했을때 실행할 코드

        else : 예외가 발생하지 않았을 때 실행할 코드

        finally: 무조건 실행할 코드

        ▷ try + except / try + except + else / try + except + finally / try + except + else + finally / try + finally 조합으로 가능.

 

▶ example

 

* try:

      예외가 발생할 가능성이 있는 구문

 except 예외의 종류 as 예외 객체를 활용할 변수 이름:

      예외가 발생했을 때 실행할 구문

 

A. 예외객체 

  a-1. Exception : 모든 예외의 어머니. 변수로 잡아서 print하면 일부러 오류코드를 보여줘서 무슨 오류인지 보여줌

  a-2. ValueError : 정수로 변환할 수 없는 값을 입력한 경우

  a-3. IndexError : 리스트의 길이를 넘는 인덱스를 입력한 경우

 

**예외 구분하기  ▶ except 구문 뒤에 예외의 종류를 입력해서 예외를 구분할 수 있음. 

try : 

    예외가 발생할 가능성이 있는 구문

except 예외의 종류A:

    예외A가 발생했을 때 실행할 구문

except 예외의 종류B:

    예외B가 발생했을 때 실행할 구문

except 예외의 종류C:

   예외C가 발생했을 때 실행할 구문

  ▶ 예외 조건에 일치하는 게 없을수도 있으니 마지막에는 Exception을 넣어서 모든 예외를 잡아서 프로그램이 죽지 않게 하는 것이 중요.