Python 异常的捕获、异常的传递与主动抛出异常操作示例
作者:houyanhua1 发布时间:2023-04-16 08:42:49
标签: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
无论是否出现异常都会执行的代码
异常的传递
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'
主动抛出异常
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程序设计有所帮助。
来源:https://blog.csdn.net/houyanhua1/article/details/84108587
0
投稿
猜你喜欢
- 这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下一、打开摄像头import
- HTTP头中一般断点下载时才用到Range和Content-Range实体头,Range用户请求头中,指定第一个字节的位置和最后一个字节的位
- 一些杀毒软件经常会把某些asp文件当成病毒删除,如卡巴斯基杀毒软件就经常把网页中有Microsoft.XMLHTTP 的当作病毒,有时简直防
- 之前我们已经安装了lnmp的环境,现在让我们来安装phpmyadmin。跟前一样,yum默认的库里是没有phpmyadmin的,我们需要从e
- for循环只是一个多一点的代码,同时循环添加到它。而所涉及的一个循环的共同任务是: 设置一些计数器变量的初始值。 请检查条件语句是正确的。
- 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,可是也有它们的不同之处,这段时间刚学完函数与存储过程,来给自己
- asp函数实现把数字格式化为每3个数字时以逗号间隔的数字见下:<%Function Comma(str)If No
- 一、功能简述正是微博如火如荼的时节,其中各个微博的分享功能是网站推广产品的好东东啊,此时如何方便快捷的使用微博的分享功能就显得比较重要了。我
- 1 概述利用Python生成简单的词云,需要的工具是cython,wordcloud与anaconda.2 准备工作包括安装cython,w
- 开门见山,直接使用 skimage 库为图像添加高斯噪声是很简单的:import skimageorigin = skimage.io.im
- < % Response.CharSet="gb2312" tblna
- ORCLE数据库备份策略 1.通过使用exp和imp命令实现数据库导出和导入。 有三种模式: a. 用户模式: 导出(导入)用户所有对象以及
- 在开发数据库应用中,经常会遇到处理时间的问题,如查询指定时间的记录等。下面就这些常见的问题,结合自己的一些经验,和大家探讨一下这类问题。首先
- 今天再为大家提供一种方法:不需要安装Excel也可以导入到我们的SQL Server数据库。首先用SQL Server自身的数据转换功能把E
- 八种获取当前日期的js代码,第一步:把如下代码加入<head>区域中:<SCRIPT language=java
- 适配器模式Adapter Pattern是什么适配器模式是一种结构型模式,它可以将一个类的接口转换成客户端所期望的接口,从而使原本不兼容的类
- 本文实例讲述了JS实现的倒计时效果。分享给大家供大家参考,具体如下:我们经常会看到某些网站在注册的时候喜欢搞个按钮倒计时的效果,就是多少秒之
- 我就废话不多说了,大家还是直接看代码吧!# coding=utf-8import loggingimport yamlimport osim
- 本文实例讲述了使用symfony命令创建项目的方法。分享给大家供大家参考,具体如下:概况这一章节描述一个Symfony项目的合理结构框架,并
- 概述迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。延迟计算或惰性