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 正则式 概述及常用字符
May 07 Python
Python库urllib与urllib2主要区别分析
Jul 13 Python
python机器学习之决策树分类详解
Dec 20 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
python过滤中英文标点符号的实例代码
Jul 15 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
Dec 10 Python
Django 5种类型Session使用方法解析
Apr 29 Python
Python通过len函数返回对象长度
Oct 22 Python
python 实现客户端与服务端的通信
Dec 23 Python
学会Python数据可视化必须尝试这7个库
Jun 16 Python
Python类方法总结讲解
Jul 26 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三层结构(上) 简单三层结构
2010/07/04 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
extjs fckeditor集成代码
2009/05/10 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
python搜索指定目录的方法
2015/04/29 Python
python安装与使用redis的方法
2016/04/19 Python
对python的输出和输出格式详解
2018/12/08 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
numpy np.newaxis 的实用分享
2019/11/30 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
前台接待的工作职责
2013/11/21 职场文书
董事长秘书岗位职责
2013/11/29 职场文书
社会实践心得体会
2014/01/03 职场文书
红领巾心向党广播稿
2014/01/19 职场文书
少年闰土教学反思
2014/02/22 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
会计求职自荐信范文
2015/03/04 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang