- 예외 처리
- 프로그램 내의 예기치 못한 오류가 발생 시 프로그래머가 예외 발생을 대처하기 위해 작성하는 코드
won = input("원화 입력")
dollar = input("환율 입력")
try:
print(int(won)/int(dollar))
except TypeError as e:
print("타입 에러 발생", e)
except ZeroDivisionError as e:
print("0으로 나눌수없음", e)
except ValueError as e:
print("값이 잘못됨", e)
except Exception as e:
print("기타 예외 발생", e)
else:
print("예외 미발생")
finally:
print("마지막에 항상 실행")
class PositiveNumberError(Exception):
def __init__(self) -> None:
super().__init__("양수 입력 불가 >>> ")
try:
num = int(input("음수를 입력하세요"))
if num >= 0:
raise PositiveNumberError
except PositiveNumberError as e:
print("에러 발생", e)
try:
num = int(input("음수를 입력해주세요 >>> "))
if num >= 0:
raise ValueError("양수는 입력불가")
except ValueError as e:
print("에러 발생", e)
- 가정 설명법 (assert)
- 예외 처리와 비슷, 조건에 대해 bool 값을 받아 참일 경우 통과, 그렇지 않을 경우 AssertionError와 함께 프로그래머가 작성한 메세지를 출력하는 형식
lists = [-1,0,1,2]
def minus(n):
assert n<0, '음수만 지나갈 수 있습니다.'
for i in lists:
minus(i)
AssertionError: 음수만 지나갈 수 있습니다.