栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

异常的传递抛出自定义的异常

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

异常的传递抛出自定义的异常

异常的传递

1. try嵌套中的:

import time try:     f = open("test.txt")     try:         while True:             content = f.readline()             if len(content) == 0:                 break             time.sleep(2)             print(content)     except:         #如果在读取文件的过程中,产生了异常,那么就会捕获到         pass     finally:         f.close()         print("关闭文件") except:     print("没有这个文件")

 2.函数嵌套调用中

 

运行结果:

 

抛出自定义的异常 

可以用raise语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类 下面是一个引发异常的例子:

 

 引发异常的句子的源代码:

class ShortInputException(Exception):     def __init__(self, length, atleast):         self.length = length         self.atleast = atleast def 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()

当程序出错时,python会自动触发异常,也可以通过raise显示引发异常一旦执行了raise语句,raise之后的语句不在执行 如果加入了try,except,那么except里的语句会被执行

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/308656.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号