博客
关于我
错误和异常 以及 break和continue 学习
阅读量:552 次
发布时间:2019-03-09

本文共 1338 字,大约阅读时间需要 4 分钟。

错误和异常处理 提前做好错误处理,编写更健壮的代码

在编程过程中,程序可能会遇到各种错误或异常。学会正确处理这些错误,可以让程序更健壮,提高鲁棒性。下面将从错误处理的基本原则,到错误的具体实例处理,再到错误处理的最佳实践,进行详细阐述。

常见错误类型及处理方法

在Python中,常见的错误类型主要有ZeroDivisionErrorIndexErrorException等。编写高质量的代码,需要对这些错误做精准的捕获。

1. 通过tryexcept实现错误捕获

try:    # 要执行的语句    list_data = [1, 2, 3]    list_data[3]  # 创建一个索引错误except ZeroDivisionError:    print("ZeroDivisionError")except IndexError:    print("IndexError")except Exception:    # 如果前边有无法处理的错误,则由Exception来处理    print("Exception")

try结构一起使用,通过except来捕获和处理特定的错误类型。

2. 定义自定义异常

try:    raise IndexError("TestIndexError")  # 使用`raise`发起一个错误except ZeroDivisionError as e:    print(e)  # 为了方便,可以更改错误名称except IndexError as e:    print(e)else:    print("其他")  # 前边报错不会执行该语句finally:    print("最终要执行的语句")  # 最好总都会执行的语句

raise语句用于主动发起错误,而finally语句用于无论是否发生错误,都会执行的语句.

小结

  • 进行精准的异常捕获
  • 将父类异常放在最后
  • finally的应用场景,一般用于清理工作
  • break 和 continue 机制

    breakcontinue 是用于控制循环执行流程的重要语句。

    • break:终止当前循环,继续执行下一个语句。
    • continue:跳过当前循环,直接执行下一个循环。

    示例

    print("break---------------------------------")for i in range(10):    if i == 3:        break    print(i)print("continue------------------------------------")for i in range(10):    if i == 3:        continue    print(i)

    运行结果如下:

    break---------------------------------0123456789continue------------------------------------0123456789

    break 语句会在找到匹配条件时立即退出循环;continue 语句则会跳过当前循环,继续执行下一个循环。

    转载地址:http://ackpz.baihongyu.com/

    你可能感兴趣的文章
    Navicate for mysql 数据库设计-数据库分析
    查看>>
    Navicat下载和破解以及使用
    查看>>
    Navicat中怎样将SQLServer的表复制到MySql中
    查看>>
    navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
    查看>>
    Navicat可视化界面导入SQL文件生成数据库表
    查看>>
    Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
    查看>>
    Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
    查看>>
    Navicat如何连接MySQL
    查看>>
    navicat导入.sql文件出错2006- MySQLserver has gone away
    查看>>
    Navicat导入海量Excel数据到数据库(简易介绍)
    查看>>
    Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
    查看>>
    navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
    查看>>
    navicat怎么导出和导入数据表
    查看>>
    Navicat报错connection is being used
    查看>>
    Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
    查看>>
    Navicat控制mysql用户权限
    查看>>
    navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
    查看>>
    Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
    查看>>
    Navicat连接mysql数据库中出现的所有问题解决方案(全)
    查看>>
    Navicat连接Oracle出现Oracle library is not loaded的解决方法
    查看>>