except IOEerror 只能接收到 IO 类型的错误,对于抛出的 NameError 类型的错误,在 Python 中所有的异常类都继承 Exception,所以我们可以使用它来接收所有的异常。
1.Exception接收异常
源码:
open("test1.py",'r')
print("文件已打开!,我们来测试打印不存在的值")
print(name)
except Exception:
print("存在异常!")
print("文件已打开!,我们来测试打印不存在的值")
print(name)
except Exception:
print("存在异常!")
输出:
2.BaseException接收异常,并打印异常信息msg
Python2.5 版本之后,所有的异常类有了新的基类 BaseException,Exception 同样也继承BaseException,所以我们也可以使用 BaseException 来接收所有的异常。
源码:
try:
open("test1.py",'r')
print("文件已打开!,我们来测试打印不存在的值")
print(name)
except BaseException as msg:
print("存在异常!,异常信息:"+str(msg))
open("test1.py",'r')
print("文件已打开!,我们来测试打印不存在的值")
print(name)
except BaseException as msg:
print("存在异常!,异常信息:"+str(msg))
输出: