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 06 Python
跟老齐学Python之私有函数和专有方法
Oct 24 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
Python面向对象之类和实例用法分析
Jun 08 Python
Python读写文件基础知识点
Jun 10 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
python 字典套字典或列表的示例
Dec 16 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
python实现简单坦克大战
Mar 27 Python
零基础学Python之前需要学c语言吗
Jul 21 Python
Python下使用Trackbar实现绘图板
Oct 27 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 实现多服务器共享 SESSION 数据
2009/08/15 PHP
PHP迭代器实现斐波纳契数列的函数
2013/11/12 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
微信小程序canvas分享海报功能
2019/10/31 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
Python中实现的RC4算法
2015/02/14 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
Python如何省略括号方法详解
2020/03/21 Python
高考考python编程是真的吗
2020/07/20 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
制定岗位职责的原则
2013/11/08 职场文书
大专应届生个人的自我评价
2013/11/21 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
2015年商场工作总结
2015/04/27 职场文书