怎么在Python中自定义一个异常类-创新互联

这篇文章将为大家详细讲解有关怎么在Python中自定义一个异常类,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联是一家专注于做网站、网站制作与策划设计,文安网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:文安等地区。文安做网站价格咨询:028-86922220

如何实现自定义一个异常

python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误。那么我们编写一个模块也可以为使用此模块者划定红线,来约束使用者可用哪些数据,这就需要自定义异常类型。

首先需要了的是自定义类是的父类:

python说明文档中是这样说 exception Exception:

所有内置的非系统退出类异常都派生自此类。 所有用户自定义异常也应当派生自此类

那么就可以通过直接或间接的继承Exception就可以自定义一个异常类,当然也可以间接的继承python内置的异常类。

通常的做法是,先为自己的模块创建一个基类,然后再从此基类派生其他异常类,这样不但清晰明了,也方便管理:

例如:

class MyErorr(Exception):
  pass
class AaErorr(MyErorr):
  pass
class BbErorr(MyErorr):
  pass

怎么在Python中自定义一个异常类

其次要了解 raise 语句:意为抛出异常。

raise 语句允许在写代码的时候强制发生指定的异常。

写法是:raise 后跟要抛出的异常。这个异常必须是异常实例或者是一个异常类。

怎么在Python中自定义一个异常类

步骤:

自定义异常类

例如:写一个只接收整数的加法计算器,当输入的不是整数时引发异常。

class CalcErorr(Exception)
  pass
class NumErorr(CalcErorr)
  def __init__(self,numA,numB)
    self.numA=numA
    self.numB=numB
  def __str__(self)
    return f"本计算器只接收整数!"

两个魔法方法:

  • def __init__(self),异常类对象的初始化属性。

  • def __str__(self),返回异常类对象说明信息。

怎么在Python中自定义一个异常类

引发异常

定义一个计算函数,函数体按try语句规则,在try子句内引发异常。

def calculator(a,b)
  try:
    if type(a)!=int or type(b)!=int:
      raise NumErorr(a,b) 
  except Exception as e:
    print(e)
  else:
    c=a+b
    return c

怎么在Python中自定义一个异常类

捕获异常

try语句的except子句来捕获异常,并返回描述信息。

except Exception as e: 
  print(e)

怎么在Python中自定义一个异常类

else子句

在输入正确的情况下,不会引发异常,执行else子句执行计算。

这是一个简单的自定义的异常类。当有其他用户使用时,如果输入错误就会引发异常。下面两个例子来检验一下。

怎么在Python中自定义一个异常类

用户调用:(错误数据)

sA=calculator(33.3,66)

print(sA)

---本计算器只接收整数!

---None

输入的时小数,所以引发异常。

怎么在Python中自定义一个异常类

用户调用:(正确数据)

sA=calculator(33,66)

print(sA)

---99

输入正确计算出结果

怎么在Python中自定义一个异常类

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

关于怎么在Python中自定义一个异常类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网页标题:怎么在Python中自定义一个异常类-创新互联
新闻来源:https://www.cdcxhl.com/article20/dhpico.html

成都网站建设公司_创新互联,为您提供外贸建站自适应网站域名注册网站导航网站建设移动网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设