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类型强制转换long to int的代码
Feb 10 Python
小结Python用fork来创建子进程注意事项
Jul 03 Python
Python中使用第三方库xlrd来写入Excel文件示例
Apr 05 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
python取代netcat过程分析
Feb 10 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
vue常用指令代码实例总结
Mar 16 Python
Python tkinter制作单机五子棋游戏
Sep 14 Python
python3 re返回形式总结
Nov 20 Python
Python实现socket库网络通信套接字
Jun 04 Python
如何正确理解python装饰器
Jun 15 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数字格式化
2006/12/06 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
深入解析php中的foreach问题
2013/06/30 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
php中最简单的字符串匹配算法
2014/12/16 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python用threading实现多线程详解
2017/02/03 Python
Python格式化输出字符串方法小结【%与format】
2018/10/29 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python @property使用方法解析
2019/09/17 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
职业生涯规划书基本格式
2014/01/06 职场文书
2014年客房部工作总结
2014/11/22 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
学子宴致辞大全
2015/07/27 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
python关于集合的知识案例详解
2021/05/30 Python