共计 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 用户自定义异常的实例讲解的详细内容。 | |
阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配 | |
腾讯云新客低至 82 元 / 年,老客户 99 元 / 年 | |
代金券:在阿里云专用满减优惠券 | |
正文完
星哥玩云-微信公众号
