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

python学习--异常

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

python学习--异常

python学习--异常

解决异常

1.try和except2.finally3.raise 断言练习结束语下篇预告

解决异常

如果遇到异常就踹(try)一下。我们将可能报错的代码放入try中,except来接收并处理报错。

1.try和except
try:
    print(a)
except NameError:
    print("有变量未定义。")

这样程序就没有报错了。NameError为一种内置的报错类型。也可以加入else包含程序没有异常的情况下执行的语句。

try:
    a = 5
    print(a)
except NameError:
    print("有变量未定义。")
else:
    print("程序正常。")

当然不一定每次都是NameError错误,所以要想每次都捕捉到则需要最高的错误也就是Exception错误。

try:
    print(a)
except Exception as e:  # as e将其简化成一个变量
    print("程序错误。")

多个except可以写在一起。

try:
    # a = 5
    print(a)
except FileNotFoundError:
    print("找不到文件")
except NameError:
    print("有变量未定义。")
except Exception as e:  # as e将其简化成一个变量
    print("程序错误。")
else:
    print("程序正常。")
2.finally

在finally里的语句无论程序是否报错均会执行。

try:
    # a = 5
    print(a)
except FileNotFoundError:
    print("找不到文件")
except NameError:
    print("有变量未定义。")
except Exception as e:  # as e将其简化成一个变量
    print("程序错误。")
else:
    print("程序正常。")
finally:
    print("finally")
3.raise

raise可以主动抛出错误,在之前有提到过。

raise Exception
断言

断言类似于if,else。但不同于他们的是如果断言语句是False则会抛出错误。

assert 1 == 2  # 报错
练习
    利用装饰器,记录函数的运行日志(如:保存传入参数,返回结果,运行时间等信息)(保存至文件或列表中)打开一个只读文件,如果文件不存在,则去创建这个文件
结束语


ps:现在关注我,以后就是老粉啦!!!

下篇预告

程序报错将会终止程序运行,怎么做可以让他保留报错能力又不终止运行呢。

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

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

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