Table of Contents

Python异常处理

需要以下关键字try/raise/except/else/finally
基本思想和C++也是一样的,有细节不同


异常种类

示例代码

#Test on Python3.8 Windows
 
try:
    #Do Something
 
    #Error:只能触发BaseException的子类
    #raise int(1)
 
    #触发异常可以带参数
    #能带什么参数 就要看文档了
    raise OSError('Self Raised')
 
#Error:只能捕获BaseException的子类
#except int:
 
#捕获某一个特定类型的异常
except ImportError:
    print('ImportError Block')
 
#捕获某一个特定类型的异常并将其作为参数
except OSError as message:
    print('OSError',message)
 
#捕获所有的异常
except:
    print('General Block')
 
#如果没有发生异常
#当有异常的时候 即使except不能处理 也不会执行else
else:
    print('Else Block')
 
#不管是否发生异常都会执行的
#即使发生了异常 没有except可以处理
#也会先执行Final后 再找上层的except
finally:
    print('Final Block')