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中使用OpenCV进行人脸检测的例子
Apr 18 Python
Python中遇到的小问题及解决方法汇总
Jan 11 Python
Django卸载之后重新安装的方法
Mar 15 Python
Python守护线程用法实例
Jun 23 Python
Python iter()函数用法实例分析
Mar 17 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
Python使用Tkinter实现滚动抽奖器效果
Jan 06 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 Python
拒绝盗图!教你怎么用python给图片加水印
Jun 04 Python
Python  lambda匿名函数和三元运算符
Apr 19 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
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
跟我学习javascript解决异步编程异常方案
2015/11/23 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python 的 with 语句详解
2014/06/13 Python
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
python安装以及IDE的配置教程
2015/04/29 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
关于python写入文件自动换行的问题
2018/06/23 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
文明寄语大全
2014/04/11 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js