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最基本的输入输出详解
Apr 25 Python
Python Tkinter实现简易计算器功能
Jan 30 Python
python实现图片批量压缩程序
Jul 23 Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 Python
Python正则表达式如何匹配中文
May 27 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 Python
Python初识逻辑与if语句及用法大全
Aug 07 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上传文件常见问题总结
2015/02/03 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
Javascript实现的分页函数
2007/02/07 Javascript
Nodejs Post请求报socket hang up错误的解决办法
2014/09/25 NodeJs
JavaScript学习笔记之定时器
2015/01/22 Javascript
javascript实现数独解法
2015/03/14 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
vue中watch的用法汇总
2020/12/28 Vue.js
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
python读取文本中的坐标方法
2018/10/14 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
经济信息管理专业大学生求职信
2013/09/27 职场文书
工程造价与管理专业应届生求职信
2013/11/23 职场文书
小学教师培训感言
2014/02/11 职场文书
公务员诚信承诺书
2014/05/26 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
任命书怎么写
2015/03/02 职场文书
个人自荐书怎么写
2015/03/26 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
导游词之四川熊猫基地
2020/01/13 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers