Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 사용자 정의 예외를 구현하는 방법은 무엇입니까?


Python에서 새 예외 클래스를 생성하여 사용자 정의 또는 사용자 정의 예외를 생성합니다. 아이디어는 예외 클래스에서 사용자 정의 예외 클래스를 파생시키는 것입니다. 대부분의 기본 제공 예외는 동일한 아이디어를 사용하여 예외를 적용합니다.

주어진 코드에서 사용자 정의 예외 클래스인 "CustomException"을 만들었습니다. Exception 클래스를 부모로 사용하고 있습니다. 따라서 새로운 사용자 정의 예외 클래스는 다른 예외 클래스와 마찬가지로 예외를 발생시킵니다. 즉, 선택적 오류 메시지와 함께 "raise" 문을 호출합니다.

예를 들어보겠습니다.

이 예에서는 사용자 정의 예외를 발생시키고 프로그램에서 오류를 잡는 방법을 보여줍니다. 또한 샘플 코드에서는 사용자에게 저장된 알파벳만 입력할 때까지 계속해서 알파벳을 입력하도록 요청합니다.

도움을 위해 프로그램은 사용자에게 올바른 알파벳을 알아낼 수 있도록 힌트를 제공합니다.


#Python user-defined exceptions
class CustomException(Exception):
"""Base class for other exceptions"""
pass
class PrecedingLetterError(CustomException):
"""Raised when the entered alphabet is smaller than the actual one"""
pass
class SucceedingLetterError(CustomException):
"""Raised when the entered alphabet is larger than the actual one"""
pass
# we need to guess this alphabet till we get it right
alphabet = 'k'
while True:
try:
foo = raw_input ( "Enter an alphabet: " )
if foo < alphabet:
raise PrecedingLetterError
elif foo > alphabet:
raise SucceedingLetterError
break
except PrecedingLetterError:
print("The entered alphabet is preceding one, try again!")
print('')
except SucceedingLetterError:
print("The entered alphabet is succeeding one, try again!")
print('')
print("Congratulations! You guessed it correctly.")