혼공학습단/혼자 공부하는 파이썬

[혼공학습단 파이썬] #6-2. 예외 고급, Exception

✨️데이터분석가✨️ 2023. 8. 11. 23:29
728x90
728x90
6. 예외 처리
    3) 예외 고급
         (1) 예외 객체

         (2) 예외 구분
         (3) raise 구문

 

3) 예외 고급

 

(1) 예외 객체, Exception 

- 예외 관련 정보를 담고 있는 객체

try:

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

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

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

try:
    number = int(input("정수입력: "))
    print("원의 반지름: ", number)
    print("원의 넓이: ", 3.14 * number * number)
except Exception as exception:
    print(type(exception))
    print(exception)
더보기

# 실행결과

정수입력: 3.5
<class 'ValueError'>
invalid literal for int() with base 10: '3.5'

 

 

(2) 예외 구분

- 예외 종류별로 구분하여 처리

- 마지막에 Exception을 넣어서 예측 못한 모든 예외를 잡음 

try:
    a = [534, 14, 364, 800]
    number = int(input("0 ~ 3 사이의 정수를 입력해주세요: "))
    print(a[number])
except ValueError as exception:
    print("정수가 아닙니다.")
except IndexError as exception:
    print("범위를 벗어납니다.")
except Exception as exception:
    print("이 외의 예외가 발생했습니다.")
더보기

# 실행결과

0 ~ 3 사이의 정수를 입력해주세요: 5
범위를 벗어납니다.

 

 

(3) raise 구문

- 예외를 강제로 발생시키는 기능

- raise 예외 객체

raise Exception("안녕하세요.")
더보기

# 실행결과

Traceback (most recent call last):
  File "D:\혼공파이썬\6_exception.py", line 91, in <module>
    raise Exception("안녕하세요.")
Exception: 안녕하세요.

 

 

 

 

 

 

728x90
728x90