怎么解决Python中自定义异常

  介绍

这篇文章将为大家详细讲解有关怎么解决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中自定义异常就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么解决Python中自定义异常