Python/문법

파이썬 - 예외 처리

choisanghyun 2022. 1. 3. 20:57
728x90
#원화를 입력, 환율 입력 -> 달러값

won = input("원화금액을 입력하세요>>>")
dollar = input("환율을 입력하세요>>>")

try: #예외가 발생 할 수 있는 코드
  print(int(won)/int(dollar))
except ValueError:#예외가 발생했을 때 실행되는 코드 #에러종류 지정 가능
  print("문자열 예외 발생")
except ZeroDivisionError:
  print("나누기 0은 불가능")
except : #모든종류 예외 
  print("예외발생")
else:
  print("예외 발생하지 않았을 때 실행되는 코드")
finally:
  print("예외가 발생하던지, 발생하지 않던지 항상 실행되는 코드")

 

#rasie 구문을 사용해서 에러를 강제로 발생
try:
  num = int(input("음수를 입력해 주세요>>>"))
  if num>=0:
    raise Exception("양수는 입력 불가") 
    #Exception 대신 ValieError같은 내장 에러도 rasie 사용 가능
except Exception as e :
  print("에러발생!",e)
#rasie 구문을 사용해서 에러를 강제로 발생 --클래스 활용
class PositiveNumberError(Exception):
  def __init__(self):
    super().__init__("양수는 입력불가")
try:
  num = int(input("음수를 입력해 주세요>>>"))
  if num>=0:
    raise PositiveNumberError 
    #Exception 대신 ValieError같은 내장 에러도 rasie 사용 가능
except PositiveNumberError as e :
  print("에러발생!",e)