了解异常

''''
异常本事是个类,python中所有的异常类都是继承于BaseException,这个在builtins.py文件中可以明显看到
异常通常会带来怎么样的问题:异常时程序会运行停止
如何能够防止异常发生:
具体如何做
-------try...except...学习----------------------------
try: #首先写一个try,然后把所有可能出错的代码,放到里面去
    print("----1-----") #第一条是正确的
    print(a) #第二条是错误的
    print("---3---------") #第三条是错误的
except:
    pass #此处写捕获到异常的处理方案
'''
try:
    print("---1----")
    print(a)
    print("---2----")
except:
    pass
#最终得结果为:---1---从而证明是print(a)这句代码错误

# -------捕获具体异常-----------
# except后面可以写上捕获到具体得异常类型,可以通过as把捕获到得异常信息存储到变量中
try:
    print("---1---")
    print(a)
    print("---3---")
except NameError as info: #写上
    print("捕获到得异常信息为:",info)
#最终输出结果为:捕获到得异常信息为: name 'a' is not defined

#----------------捕获多种异常--------------------------------------
# 在不知道具体错误类型时,可以多写几个except。
try:
    print("---1---")
    print(a)
    print("---3---")
except NameError: #写上
    print("变量名未定义")
except TypeError:
    print("类型使用错误")
except ImportError:
    print("语法错误")
#最终结果为:变量名未定义

#-------------不确定异常类型时---------------------------------
#使用Exception,Exception是常用异常的父类
try:
    print("---1---")
    0/0
    print("---3---")
except NameError: #写上
    print("变量名未定义")
except TypeError:
    print("类型使用错误")
except ImportError:
    print("语法错误")
except Exception: #当上面的错误类型都不能满足时,可以使用。
    print("未知错误类型")
#最终结果为:未知错误类型。

# -----------更加丰富的结构--------------
try:
    print("---1---")
    print(a)
    print("---3---")
except Exception as result:
    print("捕获到的异常为",result)
else:
    print("没有捕获到异常执行我")
finally:
    print("不管有没有异常,我都执行")

猜你喜欢

转载自www.cnblogs.com/jb9527/p/10658519.html