异常处理

Posted zly9527

tags:

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

在所有语言中,我们在学习和工作中都不可避免地会遇到错误。

程序异常或者错误主要可以分为两种:语法错误和逻辑错误。

特点:

程序一旦发生异常,就从错误的位置停了下来。不在继续执行后面的内容。

但是有时我们希望可以举行执行下面的语句或者对我发出提醒。

这是我们就可以使用try:except来实现:

try:
    tet = int(input("请输入一个数字》》"))
    print(tet*34)
except ValueError:
    print(请输入数字)

技术图片

我们可以看到程序直接跳过了出错的代码而去执行了下面的代码。

使用try和·except来处理异常:

  1. tre是我们需要处理的代码
  2. except后面跟一个错误数据类型,当代码发生错误且错误类型符合的时候,就会执行except中的代码。

     3.except是支持多分支的

  4.当然,我们可以使用Exception来处理所有的异常。但是有个缺点如果只用万能异常处理,你将会不知道你在哪出错了。因为它的提示都是一个。所以我一般使用多分枝和万能异常相结合。万能异常放在最后。

我们在使用万能异常时,应注意标记一下,方便提醒我们具体是哪报错了。

1 try:
2     tet = int(input("请输入一个数字》》"))
3     print(tet*34)
4 # except ValueError:
5 #     print(‘请输入数字‘)
6 except Exception as error:
7     print(错误,error)

技术图片

try和else

1 try:
2     tet = int(input("请输入一个数字》》"))
3     print(tet*34)
4 except ValueError:
5     print(请输入数字)
6 else:
7     print(套象成功3)

技术图片

当我代码运行玩try中代码之后没有报错就会执行else里面的代码来提醒我们没有异常。

finally

不管代码是否异常,都会执行。

 1 def func():
 2     try:
 3         # dfdsfsdf
 4         # dsfssgf
 5         ret = open(套你大象, w)
 6         ret.close()
 7         return True
 8     except:
 9         ret.close()
10     finally:
11         print(执行力finally)
12         ret.close()
13 
14 print(func())

技术图片

finally和return相遇后依旧会执行。所以finally在函数里面使用。

我们可以使用它去做一些收尾工作。比如:我们在操作数据库时,不管最后程序是否有没出错都要关闭数据库。我们可以使用finally来实现

 

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

java异常处理详解!!

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

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

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

PHP异常处理

Java的异常处理语法