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))
 输出: 
 