예외 처리 형식은 아래와 같습니다.
try:
코드
except:
예외 발생 시 처리 코드
아래의 예시에서는 0으로 나누거나, 정수가 아닌 값을 입력한 경우에 Error를 출력합니다.
try:
a = int(input())
b = int(input())
print(f'{a}/{b} = {a/b}')
except:
print('Error')
위의 방식과 같은 경우, 개별적으로 예외처리가 불가능하기 때문에
아래와 같은 방법을 사용할 수 있습니다.
try:
코드
except 에러1:
예외 발생 시 처리 (1)
except 에러2:
예외 발생 시 처리 (2)
( ... )
except Exception:
예외 발생 시 처리 (n)
try:
a = int(input())
b = int(input())
print(f'{a}/{b} = {a/b}')
except ValueError:
print('문자를 정수로 변환할 수 없습니다')
except ZeroDivisionError:
print('0으로 나눌 수 없습니다')
except:
print('알 수 없는 에러')
위의 예시들에서는 print문으로 예외 메세지를 직접 출력하였습니다.
대부분의 예외는 기본적으로 예외 메세지를 가지고 있기 때문에,
아래와 같은 방식으로 as절을 추가하여 기본 메세지를 출력할 수 있습니다.
try:
코드
except 예외 as 예외 메세지:
예외 발생 시 처리
try:
a = int(input())
b = int(input())
print(f'{a}/{b} = {a/b}')
except ValueError as error:
print(error)
except ZeroDivisionError as error:
print(error)
except Exception as error:
print(error)
예외 처리 시 else, finally문을 사용할 수 있습니다.
( else : 예외가 발생하지 않을 경우 실행 )
( finally : 예외 발생과 상관 없이 항상 실행 )
try:
코드
except:
예외 발생 시 처리
else:
예외가 없을 시 처리
finally:
예외 발생과 상관 없이 처리
try:
a = int(input())
b = int(input())
a/b
except ValueError:
print('문자를 정수로 변환할 수 없습니다')
except ZeroDivisionError:
print('0으로 나눌 수 없습니다')
except:
print('알 수 없는 에러')
else:
print(f'{a}/{b} = {a/b}')
finally:
print('예외처리 실행 완료')
'[Python] 파이썬' 카테고리의 다른 글
[Python] 파이썬 모듈이란? (0) | 2022.09.13 |
---|---|
[Python] 예외처리 방식_2 (0) | 2022.09.12 |
[Python] 오버라이딩 및 예외처리 종류 (0) | 2022.09.10 |
[Python] 파이썬 상속 (2) | 2022.09.09 |
[Python] 파이썬 클래스 구성_2 (0) | 2022.09.08 |