文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python用户自定义异常的示例分析

2023-06-20 17:56

关注

这篇文章主要介绍了python用户自定义异常的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

说明

程序可以通过创建一个新的异常类来命名它们自己的异常。异常应该是典型的继承自Exception类,直接或间接的方式。

异常python有一个大基类,继承了Exception。因此,我们的定制类也必须继承Exception。

实例

class ShortInputException(Exception):    def __init__(self, length, atleast):        self.length = length        self.atleast = atleastdef main():    try:        s = input('请输入 --> ')        if len(s) < 3:            # raise引发一个你定义的异常            raise ShortInputException(len(s), 3)    except ShortInputException as result:#x这个变量被绑定到了错误的实例        print('ShortInputException: 输入的长度是 %d,长度至少应是 %d'% (result.length, result.atleast))    else:        print('没有异常发生')main()

知识点扩展:

自定义异常类型

#1.用户自定义异常类型,只要该类继承了Exception类即可,至于类的主题内容用户自定义,可参考官方异常类class TooLongExceptin(Exception):  "this is user's Exception for check the length of name "  def __init__(self,leng):    self.leng = leng  def __str__(self):    print("姓名长度是"+str(self.leng)+",超过长度了")

捕捉用户手动抛出的异常

 #1.捕捉用户手动抛出的异常,跟捕捉系统异常方式一样def name_Test():  try:    name = input("enter your naem:")    if len(name)>4:      raise TooLongExceptin(len(name))    else :      print(name)   except TooLongExceptin,e_result: #这里异常类型是用户自定义的    print("捕捉到异常了")    print("打印异常信息:",e_result) #调用函数,执行name_Test()==========执行结果如下:==================================================enter your naem:aaafsdf捕捉到异常了Traceback (most recent call last):打印异常信息: 姓名长度是7,超过长度了姓名长度是7,超过长度了 File "D:/pythoyworkspace/file_demo/Class_Demo/extion_demo.py", line 16, in name_Test  raise TooLongExceptin(len(name))__main__.TooLongExceptin: <exception str() failed> During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:/pythoyworkspace/file_demo/Class_Demo/extion_demo.py", line 26, in <module>  name_Test() File "D:/pythoyworkspace/file_demo/Class_Demo/extion_demo.py", line 22, in name_Test  print("打印异常信息:",e_result)TypeError: __str__ returned non-string (type NoneType)

感谢你能够认真阅读完这篇文章,希望小编分享的“python用户自定义异常的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯