Python 异常的捕获、异常的传递与主动抛出异常操作示例


Posted in Python onSeptember 23, 2019

本文实例讲述了Python 异常的捕获、异常的传递与主动抛出异常操作。分享给大家供大家参考,具体如下:

异常的捕获

Python 异常的捕获、异常的传递与主动抛出异常操作示例

demo.py(异常的捕获):

try:
  # 提示用户输入一个整数
  num = int(input("输入一个整数:"))
  # 使用 8 除以用户输入的整数并且输出
  result = 8 / num
  print(result)
except ValueError:
  print("请输入正确的整数")
except Exception as result:
  print("未知错误 %s" % result)
else:
  print("未发生异常时,执行的代码")
finally:
  print("无论是否出现异常都会执行的代码")

运行结果:

输入一个整数:0
未知错误 division by zero
无论是否出现异常都会执行的代码

异常的传递

Python 异常的捕获、异常的传递与主动抛出异常操作示例

demo.py(异常的传递):

def demo1():
  return int(input("输入整数:"))
def demo2():
  return demo1()
# 利用异常的传递性,在主程序捕获异常
try:
  print(demo2())
except Exception as result:
  print("未知错误 %s" % result)
# demo1()发生异常 --> 传递给demo2() --> 传递给主程序 print()函数 --> 主程序如果未捕获,程序终止

运行结果:

输入整数:s
未知错误 invalid literal for int() with base 10: 's'

主动抛出异常

Python 异常的捕获、异常的传递与主动抛出异常操作示例

demo.py(raise主动抛出异常):

def input_password():
  # 提示用户输入密码
  pwd = input("请输入密码:")
  # 如果密码长度>=8,返回用户输入的密码
  if len(pwd) >= 8:
    return pwd
  # 如果 < 8 主动抛出异常
  print("主动抛出异常")
  # 1> 创建异常对象
  ex = Exception("密码长度不够")
  # 2> raise 主动抛出异常
  raise ex
# 提示用户输入密码
try:
  print(input_password())
except Exception as result:
  print(result)

运行结果:

请输入密码:123
主动抛出异常
密码长度不够

更多Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python字符串操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
用Python实现命令行闹钟脚本实例
Sep 05 Python
django 创建过滤器的实例详解
Aug 14 Python
Python中XlsxWriter模块简介与用法分析
Apr 24 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
python保存字典和读取字典的实例代码
Jul 07 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
python爬取Ajax动态加载网页过程解析
Sep 05 Python
python实现实时视频流播放代码实例
Jan 11 Python
python实现canny边缘检测
Sep 14 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
Mar 01 Python
python中os.path.join()函数实例用法
May 26 Python
Python 单例设计模式用法实例分析
Sep 23 #Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
Sep 23 #Python
详解Python3定时器任务代码
Sep 23 #Python
python应用文件读取与登录注册功能
Sep 23 #Python
Python爬虫 urllib2的使用方法详解
Sep 23 #Python
Python 正则表达式爬虫使用案例解析
Sep 23 #Python
python处理document文档保留原样式
Sep 23 #Python
You might like
PHP+JS+rsa数据加密传输实现代码
2011/03/23 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
JavaScript的目的分析
2007/01/05 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
2019/04/11 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python实现简单截取中文字符串的方法
2015/06/15 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
大学生求职简历的自我评价
2013/10/14 职场文书
自我评价怎么写好呢?
2013/12/05 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
幼儿园辞职书
2015/02/26 职场文书
丧事主持词
2015/07/02 职场文书
2016教师节感恩话语
2015/12/09 职场文书
演讲开头怎么书写?
2019/08/06 职场文书