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 23 Python
Python单例模式的两种实现方法
Aug 14 Python
用python与文件进行交互的方法
Mar 01 Python
使用Django和Python创建Json response的方法
Mar 26 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
在Mac下使用python实现简单的目录树展示方法
Nov 01 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
用Python的绘图库(matplotlib)绘制小波能量谱
Apr 17 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代码
2013/11/19 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
JS上传前预览图片实例
2013/03/25 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
python递归实现快速排序
2018/08/18 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
校园安全检查制度
2014/02/03 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书