共计 1508 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | 在本篇文章里小编给大家整理的是一篇关于 python 用户自定义异常的实例讲解,以后需要的朋友们可以跟着学习参考下。 |
说明
1、程序可以通过创建一个新的异常类来命名它们自己的异常。异常应该是典型的继承自 Exception 类,直接或间接的方式。
2、异常 python 有一个大基类,继承了 Exception。因此,我们的定制类也必须继承 Exception。
实例
class ShortInputException(Exception):
def __init__(self, length, atleast):
self.length = length
self.atleast = atleast
def main():
try:
s = input('请输入 -->')
if len(s)
知识点扩展:
自定义异常类型
#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:
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
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 用户自定义异常的实例讲解的详细内容。
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)