美文网首页
7.1Python异常处理

7.1Python异常处理

作者: 张一根 | 来源:发表于2019-02-11 15:54 被阅读0次

目录

[TOC]

前言

我们写的python程序,经常会出现异常与错误,从而导致我们的程序崩溃,今天我们就来学习一下python的异常处理,以便日后的编写流畅的代码。

(一)常见的异常

说明 错误类型
语法错误 09.png
除零异常 01.png
名称异常 02.png
类型异常 03.png
索引异常 04.png
键异常 05.png
值异常 06.png
属性异常 07.png
迭代器异常 08.png

上面的这些异常都是继承:Exception对象。

(二)异常的处理

==1.异常的预防:==

(1)说明:

有些异常时可以避免的,我们可以添加判断语句,来预防避免异常的发生。

也就是添加容错机制。

(2)源代码:

"""
    有一些异常我们是可以预防的,其办法是就添加容错机制
"""


def div(x, y):
    if y != 0:
        return x/y
    print("请注意分母不能为零")
    return 0


div(1, 0)

(3)输出效果:

10.png

==2.解决已经知道类型的异常==

(1)说明

解决异常的完整框架:

try:
可能出现异常的代码(可以写多个异常的代码,不过只要遇到第一个异常,就结束该部分的代码,跳转到except部分。)

except 错误类型 [as zero]:
发生该错误类型的异常,执行的代码。(可以写多个except 语句并列,从而来接收有可能的异常。)

else:
不发生异常,执行的代码。

finally:
不管发生与不发生,都有要执行的代码。

(2)源代码

try:
    1/0

except ZeroDivisionError as zero:
    print("除零异常", zero)

else:
    print("没有发生异常")

finally:
    print("我最后都是要执行的")

(3)输出效果

11.png

==3.合并处理多个异常==

(1)说明

except 后面可以接收元组类型的多个异常类型名。

except (error1, error2……)

(2)源代码

try:
    1/0
    print(name)
except (ZeroDivisionError, NameError) as zero:
    print("异常类型", zero)

else:
    print("没有发生异常")

finally:
    print("我最后都是要执行的")

(3)输出效果

11.png

==4处理未知类型的异常==

(1)说明

由于大部分的异常对象都是继承Exception对象。所以我们可以用Exception来接收未知的错误类型。

(2)源代码

try:
    1/0
    print(name)
    
except Exception as ec:
    print("异常类型", ec)

else:
    print("没有发生异常")

finally:
    print("我最后都是要执行的")

(3)输出效果

11.png

(三)with语句

(1)说明:

with语句也具有自动的容错机制,这里只记录with语句用于文件的操作。

(2)源代码:

"""
    高级的文件操作--不需手动关闭文件,并且具有容错机制
"""
with open("test.txt", "r") as f:
    # f文件对象
    content = f.read()
    print(content)

(3)输出效果:

test.txt文件内容是:

1234546
fldklfj dfkkldjf

12.png

作者:Mark

日期:2019/02/11 周一

相关文章

  • 7.1Python异常处理

    目录 [TOC] 前言 我们写的python程序,经常会出现异常与错误,从而导致我们的程序崩溃,今天我们就来学习一...

  • 同步或异步异常处理

    同步或异步异常处理 同步读取异常处理 异步读取文件异常处理

  • Java 异常

    异常处理机制 异常处理模型:终止模型:当异常发生时,就进入异常处理程序,处理结束并不返回异常发生位置继续执行;恢复...

  • 第十二章:异常处理

    异常处理语法格式: try: ...处理语句 except 异常类型: ...异常处理语句 pytho...

  • Spring MVC 全局统一异常处理(注解方式)

    全局异常处理 对异常处理类增加@ControllerAdvice 增加异常处理方法,使用@ExceptionHan...

  • 异常处理设计文档

    一、异常处理流程说明 在ESB处理过程中,若发生异常,将进入异常流程的处理。一个异常处理流程大致如下: ESB处理...

  • Java异常处理机制

    什么是异常处理机制: 异常处理机制: 让程序发生异常时,按照代码预先设定的异常处理逻辑,针对性地处理异常,让程序尽...

  • ASP .NET Core Web API_05_异常处理

    默认异常处理 自定义异常处理

  • springboot 异常捕获和处理

    springboot 异常捕获和处理 异常捕获处理

  • NDK开发---C++学习(七):异常

    前言 C++的异常处理机制能够将异常检测与异常处理分离开来,当异常发生时,它能自动调用异常处理程序进行错误处理。把...

网友评论

      本文标题:7.1Python异常处理

      本文链接:https://www.haomeiwen.com/subject/mxmqeqtx.html