python用户自定义异常的示例分析
这篇文章主要介绍了python用户自定义异常的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
说明
1、程序可以通过创建一个新的异常类来命名它们自己的异常。异常应该是典型的继承自Exception类,直接或间接的方式。
2、异常python有一个大基类,继承了Exception。因此,我们的定制类也必须继承Exception。
实例
classShortInputException(Exception): def__init__(self,length,atleast): self.length=length self.atleast=atleast defmain(): try: s=input('请输入-->') iflen(s)<3: #raise引发一个你定义的异常 raiseShortInputException(len(s),3) exceptShortInputExceptionasresult:#x这个变量被绑定到了错误的实例 print('ShortInputException:输入的长度是%d,长度至少应是%d'%(result.length,result.atleast)) else: print('没有异常发生') main()
知识点扩展:
自定义异常类型
#1.用户自定义异常类型,只要该类继承了Exception类即可,至于类的主题内容用户自定义,可参考官方异常类 classTooLongExceptin(Exception): "thisisuser'sExceptionforcheckthelengthofname" def__init__(self,leng): self.leng=leng def__str__(self): print("姓名长度是"+str(self.leng)+",超过长度了")
捕捉用户手动抛出的异常
#1.捕捉用户手动抛出的异常,跟捕捉系统异常方式一样 defname_Test(): try: name=input("enteryournaem:") iflen(name)>4: raiseTooLongExceptin(len(name)) else: print(name) exceptTooLongExceptin,e_result:#这里异常类型是用户自定义的 print("捕捉到异常了") print("打印异常信息:",e_result) #调用函数,执行 name_Test() ==========执行结果如下:================================================== enteryournaem:aaafsdf 捕捉到异常了 Traceback(mostrecentcalllast): 打印异常信息:姓名长度是7,超过长度了 姓名长度是7,超过长度了 File"D:/pythoyworkspace/file_demo/Class_Demo/extion_demo.py",line16,inname_Test raiseTooLongExceptin(len(name)) __main__.TooLongExceptin:<exceptionstr()failed> Duringhandlingoftheaboveexception,anotherexceptionoccurred: Traceback(mostrecentcalllast): File"D:/pythoyworkspace/file_demo/Class_Demo/extion_demo.py",line26,in<module> name_Test() File"D:/pythoyworkspace/file_demo/Class_Demo/extion_demo.py",line22,inname_Test print("打印异常信息:",e_result) TypeError:__str__returnednon-string(typeNoneType)
感谢你能够认真阅读完这篇文章,希望小编分享的“python用户自定义异常的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持恰卡编程网,关注恰卡编程网行业资讯频道,更多相关知识等着你来学习!
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...