■ 파이썬 내장 예외 클래스들을 보여준다.
▶ 기본 예외 클래스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
=========================================================================================== 예외 설명 ================ ========================================================================= Exception 모든 내장 예외의 기본이 되는 클래스이다. 사용자 정의 예외를 작성하려고 한다면 이 클래스를 상속받아 구현해야 한다. ================ ========================================================================= ArithmeticError 수치 연산 에러의 기본이 되는 내장 예외이다. ================ ========================================================================= LookupError 시퀀스 관련 에러의 기본이 되는 내장 예외이다. ================ ========================================================================= EnvironmentError File IO와 같은 파이썬 외부 에러의 기본이 되는 내장 예외이다. =========================================================================================== |
▶ 실제 발생 예외 클래스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
==================================================================================================================== 예외 설명 ===================== ============================================================================================= AssertionError assert 구문이 실패하는 경우 발생하는 예외이다. ===================== ============================================================================================= AttributeError 속성의 참조나 할당에 실패하는 경우 발생하는 예외이다. ===================== ============================================================================================= EOFError input 계열의 함수로 읽은 내용이 없이 EOF가 입력된 경우 발생하는 예외이다. ex) input 함수를 수행하고 아무런 입력없이 'Ctrl+d'를 누르면 발생한다. ===================== ============================================================================================= FloatingPointError 부동 소수점 연산이 실패하는 경우 발생하는 예외이다. pyconfig.h에 WANT_SIGFPE_HANDLER가 정의되거나, --with-fpectl 옵션이 설정된 경우에만 발생한다. ===================== ============================================================================================= GeneratorExit 제너레이터(generator)의 close 메소드가 호출되는 경우 발생하는 예외이다. ===================== ============================================================================================= IOError open 함수와 같은 I/O 연산이 실패하는 경우 발생하는 예외이다. ===================== ============================================================================================= ImportError 임포트 관련 구문에서 실패하는 경우 발생하는 예외이다. ===================== ============================================================================================= IndexError 시퀀스 계열 객체의 인덱스가 범위를 벗어난 경우 발생하는 예외이다. ===================== ============================================================================================= KeyError 사전에서 키를 찾지 못한 경우 발생하는 예외이다. ===================== ============================================================================================= KeyboardInterrupt 사용자가 인터럽트 키(Ctrl-C / Delete)를 누른 경우에 발생하는 예외이다. ===================== ============================================================================================= MemoryError 할당할 메모리가 없는 경우에 발생하는 예외이다. ===================== ============================================================================================= NameError 지역, 전역 이름공간 중에서 유효하지 않은 이름을 접근하는 경우 발생하는 예외이다. ===================== ============================================================================================= NotImplementedError RuntimeError의 파생 예외로, 부모 클래스에 정의된 추상 메소드를 자식 클래스에서 재정의하지 않은 경우 발생하는 예외이다. ===================== ============================================================================================= OSError 시스템 관련 에러이다. ===================== ============================================================================================= OverflowError 산술 연산결과가 표현할 수 있는 범위를 벗어난 경우 발생하는 예외이다. ===================== ============================================================================================= ReferenceError 약한 참조 프록시에서 발생하는 에외이다. ===================== ============================================================================================= RuntimeError 프로그램이 작동 중 분류할 수 없는 경우 발생하는 예외이다. ===================== ============================================================================================= StopIteration next 함수나 이터레이터의 __next__ 함수에 대하여 더는 반환할 값이 없는 경우 발생하는 예외이다. ===================== ============================================================================================= SyntaxError 구문 오류로 발생하는 예외이다. ===================== ============================================================================================= SystemExit sys.exit 함수가 호출되는 경우 발생하는 예외이다. 이 예외가 처리되지 않은 경우 프로그램은 종료된다. ===================== ============================================================================================= TypeError 부적절한 타입의 객체에 값을 할당하는 경우 발생하는 예외이다. ===================== ============================================================================================= UnicodeError 유니코드와 연관된 예외이다. UnicodeEncodeError UnicodeDecodeError UnicodeTranslateError ===================== ============================================================================================= ValueError 자료형에 대해 타입은 올바르나 값이 적절하지 않은 경우 발생하는 예외이다. ===================== ============================================================================================= ZeroDivisionError 나머지 연산에서 제수가 0인 경우 발생하는 예외이다. ==================================================================================================================== |