0
点赞
收藏
分享

微信扫一扫

python学习--异常

你的益达233 2022-03-11 阅读 33
学习python

python学习--异常

解决异常

如果遇到异常就踹(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  # 报错

练习

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

结束语

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

下篇预告

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

举报

相关推荐

0 条评论