사용자 정의 Python 예외 정의

PythonPythonBeginner
지금 연습하기

This tutorial is from open-source community. Access the source code

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

사용자 정의 예외는 클래스로 정의됩니다.

class NetworkError(Exception):
    pass

예외는 항상 Exception에서 상속됩니다.

일반적으로 빈 클래스입니다. 본문에는 pass를 사용합니다.

예외의 계층 구조를 만들 수도 있습니다.

class AuthenticationError(NetworkError):
     pass

class ProtocolError(NetworkError):
    pass

연습 문제 4.11: 사용자 정의 예외 정의

라이브러리가 자체 예외를 정의하는 것은 종종 좋은 관행입니다.

이렇게 하면 일반적인 프로그래밍 오류에 대한 응답으로 발생하는 Python 예외와 특정 사용 문제를 알리기 위해 라이브러리에서 의도적으로 발생하는 예외를 더 쉽게 구별할 수 있습니다.

사용자가 잘못된 형식 이름을 제공할 때 사용자 정의 FormatError 예외를 발생시키도록 이전 연습 문제의 create_formatter() 함수를 수정하십시오.

예를 들어:

>>> from tableformat import create_formatter
>>> formatter = create_formatter('xls')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "tableformat.py", line 80, in create_formatter
    raise FormatError(f"Unknown table format {name}")
tableformat.FormatError: Unknown table format xls
>>>
✨ 솔루션 확인 및 연습

요약

축하합니다! 예외 정의 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.

OSZAR »