异常

# 异常
# Python 用异常对象 (Except Object) 来表示异常情况。 当遇到错误后,异常对象会引发异常。
# 如果异常对象并未被处理或捕捉到, 则程序会回溯(Traceback 一种错误信息)来终止程序。

# python 提供 try  except 语句来捕捉并处理异常。

try:
    open("abc.txt", "r")
except FileNotFoundError:
    print("异常了!")

# 下面是一个报错的异常
try:
    print(a)
except FileNotFoundError:
    print("异常了")

 


# 异常抛出机制:
# 1. 如果在运行时发生异常, 那么解释器会查找相应的处理语句(称为 handler)
# 2. 如果在当前函数里没有找到相应的处理语句,那么解释权会将异常传递给上层的调用函数,看看哪里能不能处理
# 3. 如果最外层函数( 全局函数main() )也没找到, 那么解释器会退出,同时打印 Tracdback, 以便让用户找到错误产生的原因


# 在 Python 中,所有的异常类都继承自 Exception。 但自 Python2.5 之后,所有的异常类都有了新的基类 BaseException。
# Exception 也同样继承自BaseException 来接收所有类型的异常
# 所以 BaseException 能接受所有类型的异常了

try:
    print(a)
except BaseException as msg:
    print(msg)

 



# 在BaseException 后面定义了 msg 变量来接收异常信息,并通过 print 打印出来

posted @ 2020-02-15 17:44  gupanpan  阅读(69)  评论(0)    收藏  举报