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 内置字符串处理函数的使用方法
Jun 11 Python
详细解读Python的web.py框架下的application.py模块
May 02 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
Python实现树莓派WiFi断线自动重连的实例代码
Mar 16 Python
python opencv摄像头的简单应用
Jun 06 Python
python for和else语句趣谈
Jul 02 Python
python实现超市商品销售管理系统
Nov 22 Python
Python数据可视化常用4大绘图库原理详解
Oct 23 Python
python3.9.1环境安装的方法(图文)
Feb 02 Python
anaconda升级sklearn版本的实现方法
Feb 22 Python
Python之基础函数案例详解
Aug 30 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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中的错误处理、异常处理机制分析
2012/05/07 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
详解PHP队列的实现
2019/03/14 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
js返回顶部实例分享
2016/12/21 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
django 模版关闭转义方式
2020/05/14 Python
Python字典dict常用方法函数实例
2020/11/09 Python
高一自我鉴定
2013/12/17 职场文书
大学生毕业的自我评价分享
2014/01/02 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
爱护草坪标语
2014/06/24 职场文书
毕业生找工作求职信
2014/08/05 职场文书
2014年防汛工作总结
2014/12/08 职场文书
清明节主题班会
2015/08/14 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技