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实现发送email的几种常用方法
Aug 18 Python
github配置使用指南
Nov 18 Python
详尽讲述用Python的Django框架测试驱动开发的教程
Apr 22 Python
Python的time模块中的常用方法整理
Jun 18 Python
Windows下为Python安装Matplotlib模块
Nov 06 Python
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 Python
python去除文件中空格、Tab及回车的方法
Apr 12 Python
Python第三方库的安装方法总结
Jun 06 Python
Python中包的用法及安装
Feb 11 Python
python3 使用traceback定位异常实例
Mar 09 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 Python
python 使用pandas读取csv文件的方法
Dec 24 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
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2011/12/05 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
详解vue-cli3使用
2018/08/14 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python字符遍历的艺术
2008/09/06 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
Python爬取三国演义的实现方法
2016/09/12 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
python3获取当前目录的实现方法
2019/07/29 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
汽车广告策划方案
2014/05/31 职场文书
运动会横幅标语
2014/06/17 职场文书
大学迎新生标语
2014/10/06 职场文书
财务出纳岗位职责
2015/03/31 职场文书
教师岗位职责范本
2015/04/02 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang