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 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
对于Python异常处理慎用“except:pass”建议
Apr 02 Python
python中常用检测字符串相关函数汇总
Apr 15 Python
详解Django中的form库的使用
Jul 18 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
用yum安装MySQLdb模块的步骤方法
Dec 15 Python
基于python中__add__函数的用法
Nov 25 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
Feb 20 Python
selenium WebDriverWait类等待机制的实现
Mar 18 Python
OpenCV 之按位运算举例解析
Jun 19 Python
Python读取Excel一列并计算所有对象出现次数的方法
Sep 04 Python
Python实现位图分割的效果
Nov 20 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实现维护文件代码
2007/06/14 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
preg_match_all使用心得分享
2014/01/31 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
js+html5绘制图片到canvas的方法
2015/06/05 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
Vue.js用法详解
2017/11/13 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
Python Tkinter基础控件用法
2014/09/03 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
联想英国官网:Lenovo英国
2019/07/17 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
公司成立感言
2014/01/11 职场文书
cf收人广告词
2014/03/14 职场文书
小学教师读书活动总结
2014/07/08 职场文书
音乐教师求职信范文
2015/03/20 职场文书
涨价通知
2015/04/23 职场文书
项目验收申请报告
2015/05/15 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers