Python学习笔记之错误和异常及访问错误消息详解


Posted in Python onAugust 08, 2019

本文实例讲述了Python错误和异常及访问错误消息。分享给大家供大家参考,具体如下:

错误和异常

  • 当 Python 无法解析代码时,就会发生语法错误,因为我们没有遵守正确的 Python 语法。
  • 当在程序执行期间出现意外情况时,就会发生异常,即使代码在语法上正确无误。Python 有不同类型的内置异常。

指定异常

可以指定要在 except 块中处理哪个错误,如下所示:

try:
  # some code
except ValueError:
  # some code

现在它会捕获 ValueError 异常,但是不会捕获其他异常。如果我们希望该处理程序处理多种异常,我们可以在 except 后面添加异常元组。

try:
  # some code
except (ValueError, KeyboardInterrupt):
  # some code

或者,如果我们希望根据异常执行不同的代码块,可以添加多个 except 块。

try:
  # some code
except ValueError:
  # some code
except KeyboardInterrupt:
  # some code

处理除以零的案例:

def create_groups(items, num_groups):
  try:
    size = len(items) // num_groups
  except ZeroDivisionError:
    print("WARNING: Returning empty list. Please use a nonzero number.")
    return []
  else:
    groups = []
    for i in range(0, len(items), size):
      groups.append(items[i:i + size])
    return groups
  finally:
    print("{} groups returned.".format(num_groups))
print("Creating 6 groups...")
for group in create_groups(range(32), 6):
  print(list(group))
print("\nCreating 0 groups...")
for group in create_groups(range(32), 0):
  print(list(group))

正确的输出应该是:

Creating 6 groups...
6 groups returned.
[0, 1, 2, 3, 4]
[5, 6, 7, 8, 9]
[10, 11, 12, 13, 14]
[15, 16, 17, 18, 19]
[20, 21, 22, 23, 24]
[25, 26, 27, 28, 29]
[30, 31]

Creating 0 groups...
WARNING: Returning empty list. Please use a nonzero number.
0 groups returned.

访问错误消息

在处理异常时,依然可以如下所示地访问其错误消息:

try:
  # some code
except ZeroDivisionError as e:
  # some code
  print("ZeroDivisionError occurred: {}".format(e))

应该会输出如下所示的结果:

ZeroDivisionError occurred: division by zero

如果没有要处理的具体错误,依然可以如下所示地访问消息:

try:
  # some code
except Exception as e:
  # some code
  print("Exception occurred: {}".format(e))

此处:Exception 是所有内置异常的基础类。

更多Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python字符串操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
详解django中使用定时任务的方法
Sep 27 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
python搜索包的路径的实现方法
Jul 19 Python
python对常见数据类型的遍历解析
Aug 27 Python
python将字母转化为数字实例方法
Oct 04 Python
使用Python进行中文繁简转换的实现代码
Oct 18 Python
pycharm修改file type方式
Nov 19 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
python isinstance函数用法详解
Feb 13 Python
Python爬虫实现vip电影下载的示例代码
Apr 20 Python
python 检测图片是否有马赛克
Dec 01 Python
Python实现直方图均衡基本原理解析
Aug 08 #Python
python获取指定日期范围内的每一天,每个月,每季度的方法
Aug 08 #Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 #Python
python判断自身是否正在运行的方法
Aug 08 #Python
Python 日期区间处理 (本周本月上周上月...)
Aug 08 #Python
python各类经纬度转换的实例代码
Aug 08 #Python
Python3.0 实现决策树算法的流程
Aug 08 #Python
You might like
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
Yii学习总结之安装配置
2015/02/22 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
动态加载iframe
2006/06/16 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
简单的通用表达式求10乘阶示例
2014/03/03 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
会计专业应届生自荐信
2014/02/07 职场文书
六一儿童节标语
2014/10/08 职场文书
教师工作表现评语
2014/12/31 职场文书
保卫工作个人总结
2015/03/03 职场文书
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL