또한 Python을 사용하면 표준 내장 예외에서 클래스를 파생하여 고유한 예외를 만들 수 있습니다.
다음은 RuntimeError와 관련된 예입니다. 여기에서 RuntimeError에서 서브클래싱된 클래스가 생성됩니다. 예외가 발생했을 때 보다 구체적인 정보를 표시해야 할 때 유용합니다.
try 블록에서 사용자 정의 예외가 발생하고 예외 블록에서 catch됩니다. 변수 e는 Networkerror 클래스의 인스턴스를 만드는 데 사용됩니다. .
class Networkerror(RuntimeError): def __init__(self, arg): self.args = arg
따라서 위의 클래스를 정의한 후에는 다음과 같이 예외를 발생시킬 수 있습니다. -
try: raise Networkerror("Bad hostname") except Networkerror,e: print e.args