异常处理

Posted yangzhizong

tags:

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

异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。

一般情况下,在Python无法正常处理程序时就会发生一个异常。

异常是Python对象,表示一个错误。

当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

错误分成两种:语法错误(语法错误根本过不了python解释器的语法检测,必须在程序执行前就改正),逻辑错误

IndexError:索引错误
KeyError:ValueError 传入一个调用者不期望的值,即使值的类型是正确的
TypeError :类型错误
ValueError 传入一个调用者不期望的值,即使值的类型是正确的


为了保证程序的健壮性与容错性,即在遇到错误时程序不会崩溃,我们需要对异常进行处理

语法:

try:
    代码
except 异常类型:
    一旦检测到异常代码,就会执行这
 
如果错误发生的条件是可预知的,我们需要用if进行处理:在错误发生之前进行预防

如果错误发生的条件是不可预知的,则需要用到try...except:在错误发生之后进行处理

同一层级异常发生后,后面的就不会被打印,而在外面全局中的是不影响的,会继续执行


try except 可以捕获多个异常,这个时候代码体要知道抛出什么异常,就会执行下面那个报错类型

万能异常:可以捕获所有异常的开头
一般多分支之后加个万能异常

try--except--except--else :没有异常会检测走else

finally:无论是否捕获到最终都会运行

自定义异常


#11 总结try..except

# 1:把错误处理和真正的工作分开来
# 2:代码更易组织,更清晰,复杂的工作任务更容易实现;
# 3:毫无疑问,更安全了,不至于由于一些小的疏忽而使程序意外崩溃了;















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

java异常处理详解!!

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

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

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

PHP异常处理

Java的异常处理语法