异常处理

Posted shicongcong0910

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理相关的知识,希望对你有一定的参考价值。

异常处理
1.异常错误分类:
1.1 语法错误
1.2 逻辑错误
逻辑错误,难以避免,必须要处理
2.异常处理:
2.1 先捕捉错误
2.2 在进行处理

异常处理的两种方式:
if 如果
type: except 异常处理

if处理异常时的劣势:
1.对于相同的错误类型,要用大量的重复代码处理异常
2.如果出现的异常种类比较多时,利用if,代码会出现冗余现象
type处理异常:
try: 单支
try:
    a =1
    pass
except 错误类型:

 



3. try: 多支

多种错误
except 错误类型1 as e:
    print(e)
except 错误类型2 as e:
    print(e)
except 错误类型3 as e:
    print(e)

万能异常:
try:
多种错误
except Exception:
print(‘...‘)
如果你只是想将异常处理掉,对错误不关系,用万能异常
如果你需要根据不同的错误信息而执行不同的逻辑(分流),那么用多分支,或者多分支加万能异常

try 多分支 + 万能异常
try:
    多种错误
except :

else: 如果出现异常,就不执行else,没有出现异常就执行else语句

 


try except (else) finally
finally: 出不出现异常都执行,异常出现前执行finally
用途:
1.关闭文件句柄,关闭数据库链接
2.函数return之前能够执行finally代码
3.break 之前可以执行finally
try:
    错误
except 错误类型:
    print(11)
finally:
    print(22)

 



raise 主动抛出异常
raise IndexError(‘超出索引范围‘)

# 断言 表示一个强硬的态度,不满足条件就直接报错
assert + 条件 条件不成立 ,直接报错

自定异常:
大项目开发的时候,出现的错误是python解释器没有给你定义的错误类型


异常处理的总结:
1.异常处理不能经常使用,耗费功能,异常处理的分支越多,冗余越多
2.能用长须解决的问题,尽量用程序解决

异常处理的用法:
1.一些无法预知的错误,要用异常处理



















































以上是关于异常处理的主要内容,如果未能解决你的问题,请参考以下文章

java异常处理详解!!

Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )

Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )

异常处理,约束,MD5加密,日志处理

PHP异常处理

Java的异常处理语法