就像import tkinter as tk
一样,用一个别称代替报错信息。使用如下:
try:
print(abc)
except NameError as e:
print(e)
输出:
name 'abc' is not defined
变量名, 你可以随便写.
类似的还有
for item in SOME_LIST:
里面的item也是变量名, 叫什么名字都是随便的, 只是约定俗成用e代表一个Exception异常
Python中的as,有三种不同的用法,分别是:导入模块时的as、上下文管理的with...as,以及题主所遇到的except...as。
导入模块时的as,相当于起个简单易写的别名,比如,import numpy as np,就是给numpy取了一个更加简短的名字,如果不用as,也没有任何问题。
except NameError as e,并不是给 NameError另取个名字的意思,而是实例化一个 NameError异常类,并将该实例命名为e。
前面有同学说,except...as中的as,等同于导入模块时的as,这是不成立的,下面的代码可以验证。
>>> try:
print(abc)
except NameError: # 此处没有使用as,就不会有异常类实例
print(NameError)
<class 'NameError'>
>>> try:
print(abc)
except NameError as e:
print(e)
name 'abc' is not defined
>>> try:
print(abc)
except NameError as e: # e是NameError类的一个实例
print(type(e))
<class 'NameError'>
就是为了方便 在下面不用写那么长了 一个“e”即可,例如:
import turtle as t
import tkinter as tk
···
还有很多