Python——异常处理

Posted xc_718

tags:

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

异常:代码中的逻辑错误

程序一旦发生错误,就从错误的位置停下来不继续执行

使用try和except就能处理异常

技术分享图片
try:
    int(aaa)
    print(111)    # 检查错误的位置
    1/0
    print(222)
    name
    print(333)
    2 + 3
    [][3]
    {}[k]
    ret = int(input(number >>> ))
    print(ret * *)
except ValueError:
    print(输入的数据类型有误)
except IndexError:
    print(超出列表的最大长度了)
except Exception:
    print(你错了)
else:
    print(没有异常的时候执行此代码)
finally:
    print(不管代码有没有异常,都执行此代码)
View Code

  1. try:

    需要处理的错误代码

  2. except:     

    except + 错误类型:当代码发生错误且错误类型符合时,执行此段代码
    except 支持多分支
    except + Exception: 万能异常处理
      有了万能异常处理仍然要把能预测到的问题单独处理
      单独处理的所有内容都应该写在万能异常之前

技术分享图片
# 可以看到报错信息的异常处理

try:
    int(aaa)
    print(111)    # 检查错误的位置
    1/0
    print(222)
    name
    print(333)
    2 + 3
    [][3]
    {}[k]
    ret = int(input(number >>> ))
    print(ret * *)
except Exception as error:  # 可以看到报错信息
    print(你错了,error)
View Code

 

  3. else:

    没有异常的时候执行此代码

  4. finally:

    不管代码有没有异常,都执行此代码
    finally 和 return 相遇的时候,依然会执行
      执行到return时,发现后面还有finally,先执行finally,再返回
      常用于在函数中做异常处理,不管是否异常,去做一些收尾工作(如:关闭文件)

技术分享图片
# finally的用法

# (1)不用finally
def func():
    try:
        f = open(file,w)
        f.close()
        return True
    except:
        f.close()
        return False
print(func())


# (1)使用finally
# 执行到return时,发现后面还有finally,先执行finally,再返回
def func():
    try:
        f = open(file,w)
        return True
    except:
        return False
    finally:
        print(执行finally了)
        f.close()
print(func())
View Code

 








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

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

python常用代码片段总结

使用片段中的处理程序时出现非法状态异常

你如何在 python 中处理 graphql 查询和片段?

Java异常处理机制

java 反射代码片段