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使用多线程不断刷新网页的方法
Mar 31 Python
python在windows下创建隐藏窗口子进程的方法
Jun 04 Python
python中引用与复制用法实例分析
Jun 04 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
python匿名函数的使用方法解析
Oct 10 Python
详解opencv中画圆circle函数和椭圆ellipse函数
Dec 27 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 Python
利用pandas向一个csv文件追加写入数据的实现示例
Apr 23 Python
通过Python实现一个简单的html页面
May 16 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 Python
Python实现8种常用抽样方法
Jun 27 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
Php部分常见问题总结
2006/10/09 PHP
php中Snoopy类用法实例
2015/06/19 PHP
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
python执行外部程序的常用方法小结
2015/03/21 Python
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python实现选择排序
2017/06/04 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
Django-imagekit的使用详解
2020/07/06 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
感恩教育活动总结
2014/05/05 职场文书
初婚未育证明样本
2014/10/24 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
2014年应急工作总结
2014/12/11 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL