介绍
这篇文章将为大家详细讲解有关怎么解决Python中自定义异常,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自异常类,通过直接或间接的方式。
以下为与RuntimeError相关的实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多的信息。
在尝试语句块中,用户自定义的异常后执行除了块语句,变量e是用于创建Networkerror类的实例。
class Networkerror (RuntimeError): def 才能__init__(自我,,参数): ,,self.args =, arg
在你定义以上类后,你可以触发该异常,如下所示:
试题: raise 才能Networkerror (“Bad hostname") except Networkerror e: print 才能e.args
在下面这个例子中,默认的__init__()异常已被我们重写。
在祝辞祝辞,class MyError(异常): …,,,def __init__(自我,,值): …,,,,,self.value =价值 ,,,,def __str__(自我): ,,,,,,return repr (self.value) … 祝辞祝辞祝辞,试一试: …,,,raise MyError (2 * 2) ……,except MyError  as e: …,,,print & # 39; My exception 发生,价值:& # 39;e.value … My exception 发生,值:4 在祝辞祝辞,raise MyError,, & # 39;哦! & # 39; Traceback (most recent call 最后一个): ,File “& lt; stdin>“, line 1,,拷贝? __main__.MyError: & # 39;哦! & # 39;
常见的做法是创建一个由该模块定义的异常基类和子类,创建特定的异常类不同的错误条件。
我们通常定义的异常类,会让它比较简单,允许提取异常处理程序的错误信息,当创建一个异常模块的时候,常见的做法是创建一个由该模块定义的异常基类和子类,根据不同的错误条件,创建特定的异常类:
class 错误(异常): “““才能Base class for exceptions 却;能够拷贝模块!”““ ,通过 , class InputError(错误): “““才能Exception raised for errors 拷贝,并输入。 , 属性:才能 ,,,expression ——, input expression 拷贝which 从而error 发生 ,,,message ——, explanation of 从而错误 “才能”;“ , def 才能;__init__(表达自我,,,,消息): ,,,self.expression =表达式 ,,,self.message =,消息 , class TransitionError(错误): “““才能Raised when an operation attempts a state transition 这# 39;s 不是 ,允许。 , 属性:才能 ,,,previous ——, state at beginning of 过渡 ,,,next ——, attempted new 状态 ,,,message ——, explanation of why 从而specific transition is not 允许的 “才能”;“ , def 才能;__init__(自我,,,,,,消息): ,,,self.previous =之前 ,,,self.next =, ,,,self.message =,消息
关于怎么解决Python中自定义异常就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。