Skip to main content

Exception


try-except

try:
...
except Exception as e:
...
else:
...
finally:
...
정상비정상
βœ“tryβœ“
exceptβœ“
βœ“else
βœ“finallyβœ“

Exception hierarchy

BaseException # μ‚¬μš©ν•˜μ§€ 말 것
β”œβ”€β”€ SystemExit # sys.exit(), Exception을 μž‘λŠ” μ½”λ“œλ₯Ό ν”Όν•˜κΈ° μœ„ν•΄ BaseException 상속
β”œβ”€β”€ KeyboardInterrupt
β”œβ”€β”€ GeneratorExit
└── Exception # 일반적으둜 μ‚¬μš©μž μ •μ˜ μ˜ˆμ™ΈλŠ” 이 클래슀λ₯Ό 상속받아 생성
β”œβ”€β”€ StopIteration
β”œβ”€β”€ StopAsyncIteration
β”œβ”€β”€ ArithmeticError
β”‚ β”œβ”€β”€ FloatingPointError
β”‚ β”œβ”€β”€ OverflowError
β”‚ └── ZeroDivisionError
β”œβ”€β”€ AssertionError
β”œβ”€β”€ AttributeError
β”œβ”€β”€ BufferError
β”œβ”€β”€ EOFError
β”œβ”€β”€ ImportError
β”‚ └── ModuleNotFoundError
β”œβ”€β”€ LookupError
β”‚ β”œβ”€β”€ IndexError
β”‚ └── KeyError
β”œβ”€β”€ MemoryError
β”œβ”€β”€ NameError
β”‚ └── UnboundLocalError
β”œβ”€β”€ OSError
β”‚ β”œβ”€β”€ BlockingIOError
β”‚ β”œβ”€β”€ ChildProcessError
β”‚ β”œβ”€β”€ ConnectionError
β”‚ β”‚ β”œβ”€β”€ BrokenPipeError
β”‚ β”‚ β”œβ”€β”€ ConnectionAbortedError
β”‚ β”‚ β”œβ”€β”€ ConnectionRefusedError
β”‚ β”‚ └── ConnectionResetError
β”‚ β”œβ”€β”€ FileExistsError
β”‚ β”œβ”€β”€ FileNotFoundError
β”‚ β”œβ”€β”€ InterruptedError
β”‚ β”œβ”€β”€ IsADirectoryError
β”‚ β”œβ”€β”€ NotADirectoryError
β”‚ β”œβ”€β”€ PermissionError
β”‚ β”œβ”€β”€ ProcessLookupError
β”‚ └── TimeoutError
β”œβ”€β”€ ReferenceError
β”œβ”€β”€ RuntimeError # λ‹€λ₯Έ 범주에 μ†ν•˜μ§€ μ•ŠλŠ” μ—λŸ¬κ°€ 감지될 λ•Œ
β”‚ β”œβ”€β”€ NotImplementedError
β”‚ └── RecursionError
β”œβ”€β”€ SyntaxError
β”‚ └── IndentationError
β”‚ └── TabError
β”œβ”€β”€ SystemError
β”œβ”€β”€ TypeError
β”œβ”€β”€ ValueError # μ—°μ‚°μ΄λ‚˜ ν•¨μˆ˜κ°€ μ˜¬λ°”λ₯Έ ν˜•μ΄μ§€λ§Œ λΆ€μ μ ˆν•œ κ°’
β”‚ └── UnicodeError
β”‚ β”œβ”€β”€ UnicodeDecodeError
β”‚ β”œβ”€β”€ UnicodeEncodeError
β”‚ └── UnicodeTranslateError
└── Warning
β”œβ”€β”€ DeprecationWarning
β”œβ”€β”€ PendingDeprecationWarning
β”œβ”€β”€ RuntimeWarning
β”œβ”€β”€ SyntaxWarning
β”œβ”€β”€ UserWarning
β”œβ”€β”€ FutureWarning
β”œβ”€β”€ ImportWarning
β”œβ”€β”€ UnicodeWarning
β”œβ”€β”€ BytesWarning
β”œβ”€β”€ EncodingWarning
└── ResourceWarning

Reference