많은 오류 소스가 있습니다. 몇 가지 예는 실행된 SQL 문의 구문 오류, 연결 실패 또는 이미 취소되거나 완료된 명령문 핸들에 대한 fetch 메소드 호출입니다.
DB API는 각 데이터베이스 모듈에 존재해야 하는 여러 오류를 정의합니다. 다음 표에는 이러한 예외가 나열되어 있습니다.
시니어 번호 | 예외 및 설명 |
---|---|
1 | 경고 치명적이지 않은 문제에 사용됩니다. StandardError를 서브클래싱해야 합니다. |
2 | 오류 오류에 대한 기본 클래스입니다. StandardError를 서브클래싱해야 합니다. |
3 | 인터페이스 오류 데이터베이스 자체가 아니라 데이터베이스 모듈의 오류에 사용됩니다. 오류를 하위 클래스로 지정해야 합니다. |
4 | 데이터베이스 오류 데이터베이스의 오류에 사용됩니다. 오류를 하위 클래스로 지정해야 합니다. |
5 | 데이터 오류 데이터의 오류를 참조하는 DatabaseError의 하위 클래스입니다. |
6 | 작업 오류 데이터베이스에 대한 연결 손실과 같은 오류를 참조하는 DatabaseError의 하위 클래스입니다. 이러한 오류는 일반적으로 Python 스크립터의 제어 범위를 벗어납니다. |
7 | 무결성 오류 고유성 제약 조건 또는 외래 키와 같이 관계형 무결성을 손상시키는 상황에 대한 DatabaseError의 하위 클래스입니다. |
8 | 내부 오류 커서가 더 이상 활성화되지 않는 것과 같은 데이터베이스 모듈 내부 오류를 참조하는 DatabaseError의 하위 클래스입니다. |
9 | 프로그래밍 오류 잘못된 테이블 이름과 같은 오류를 참조하는 DatabaseError의 하위 클래스 및 안전하게 사용자를 비난할 수 있는 기타 사항입니다. |
10 | 지원되지 않는 오류 지원되지 않는 기능을 호출하려는 것을 나타내는 DatabaseError의 하위 클래스입니다. |
Python 스크립트는 이러한 오류를 처리해야 하지만 위의 예외를 사용하기 전에 MySQLdb가 해당 예외를 지원하는지 확인하십시오. DB API 2.0 사양을 읽으면 더 많은 정보를 얻을 수 있습니다.