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群发邮件实例代码
Jan 03 Python
Python采用Django开发自己的博客系统
Sep 29 Python
在java中如何定义一个抽象属性示例详解
Aug 18 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
Python网络编程使用select实现socket全双工异步通信功能示例
Apr 09 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
Jun 13 Python
Python 中包/模块的 `import` 操作代码
Apr 22 Python
Python socket 套接字实现通信详解
Aug 27 Python
Python连接字符串过程详解
Jan 06 Python
Python 实现使用空值进行赋值 None
Mar 12 Python
Python Dataframe常见索引方式详解
May 27 Python
Python TestSuite生成测试报告过程解析
Jul 23 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
域名和cookie问题(域名后缀)
2012/10/10 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
纯JS实现轮播图
2017/02/22 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
Python fileinput模块使用实例
2015/05/28 Python
利用python发送和接收邮件
2016/09/27 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
农行实习自我鉴定
2013/09/22 职场文书
求职简历推荐信范文
2013/12/02 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
企业党员一句话承诺
2014/05/30 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python
Java数据结构之堆(优先队列)
2022/05/20 Java/Android