IT/Python

예외처리

우루사이 2023. 11. 5. 12:50

Try Except 

try:
    <예외 발생 가능성 문장>
except <예외 종류>:
    <예외 처리 문장>
except (예외1, 예외2):
    <예외 처리 문장>
except 예외 as 인자:
    <예외 처리 문장> 
else:
    <예외가 발생하지 않은 경우 수행될 문장>
finally:
    <예외 발생 유무에 상관없이 try블록 이후 수행할 문장>

 

Raise

  • 사용자가 강제로 예외를 일으킬 때 사용
  • 내장 예외만으로 한계가 있어, 추가 예외를 정의
def NegativeDivisionError(Exception):
    def __init__(self, value):
        self.value = value
        
def positiveDivide(a, b):
    if b < 0:
        raise NegativeDivisionError(b)
    return a/b
    
try:
    ret = positiveDivide(100, -2)
except NegativeDivisionError as e:
    print('Error: ', e.value)
except ZeroDivisionError as e:
    print('Error: zerodivision')