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简单实例训练(21~30)
Nov 15 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 Python
Django项目创建到启动详解(最全最详细)
Sep 07 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 Python
Django中和时区相关的安全问题详解
Oct 12 Python
python使用dlib进行人脸检测和关键点的示例
Dec 05 Python
用Python自动清理系统垃圾的实现
Jan 18 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 Python
Pandas-DataFrame知识点汇总
Mar 16 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php实现的短网址算法分享
2014/06/20 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
Three.js快速入门教程
2016/09/09 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Vue中computed与methods的区别详解
2018/03/24 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
node app 打包工具pkg的具体使用
2019/01/17 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
python IDLE添加行号显示教程
2020/04/25 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
酒店应聘自荐信
2013/11/09 职场文书
大学军训感言
2014/01/10 职场文书
祖国在我心中演讲稿
2014/01/15 职场文书
2014年营业员工作总结
2014/11/18 职场文书
高中班主任评语
2014/12/30 职场文书
千手观音观后感
2015/06/03 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
pt-archiver 主键自增
2022/04/26 MySQL