python异常处理(十分钟彻底搞定!)
异常处理:
捕获异常,简单的捕获异常语法,在程序开发时,可以尝试加如 try
来捕获异常
try:尝试执行的代码
except:出现错误的处理
try
尝试 下方填写要尝试的密码,不确定能不能够正常执行的代码
except
如果不是,下方填写尝试失败的代码
例子: 简单的异常捕获演练–要求用户输入整数
try:#不能确定争取执行的代码#提示用户输入一个数字num = int(input("请输入一个数字:"))
except:print("请输入一个正确的数字!")
print("-"*50)
错误类型捕获:
在程序执行时,可能会遇到不同类型的,并且需要针对不同类型的异常,做出不同的响应,这个时候就需要指定错误类型了
try:#尝试执行的代码pass
except 错误类型1:#针对错误类型1,对应的代码处理pass
except(错误类型2,错误类型3):#针对错误类型2 和3 对应的代码处理pass
except Exception as result:print("未知错误 %s" %result)
示例需求:
- 提示用户输入一个整数
- 使用8除以用户输入的整数并且输出
while True:try:# 提示用户输入一个整数num = int(input("输入一个整数:"))# 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理result = 8 / numprint(result)except ZeroDivisionError:print("数学错误")except ValueError:print("请输入数字")
捕获未知错误:
except Exception as result:print("未知错误 %s" %result)
可以把未知错误输出到控制台,而不会报错崩溃使用 Exception
关键字
try:# 提示用户输入一个整数num = int(input("输入一个整数:"))# 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理result = 8 / numprint(result)
except ValueError:print("请输入数字")
except Exception as result:print("未知错误%s"%result)
异常捕获的完整语法:
try:#尝试执行的代码pass
except 错误类型1的第一个关键字:#针对错误类型1对应的代码处理pass
except 错误类型2的第一个关键词:#针对错误类型2的对应代码处理pass
except (错误类型3,错误类型4):#针对错误类型3,4的对应代码处理pass
except Exception as result:#打印错误信息print(result)
else:#没异常会执行的代码pass
finally:#无论是否有异常,都会执行的代码print("无论是否存在异常,都会执行的代码")
示例代码:
try:# 提示用户输入一个整数num = int(input("输入一个整数:"))# 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理result = 8 / numprint(result)
except ValueError:print("请输入数字")
except Exception as result:print("未知错误%s" % result)
else:print("尝试成功!")
finally:print("无论是否出现错误都会执行的代码")
print("==="*20)
异常的传递:
当函数/方法执行出现异常时,会将异常传递给函数/方法的调用一方
如果传递到主程序,仍然没有异常处理,程序才会被终止
所以说,只需要在主程序中做一个异常处理就可以完成代码的异常处理
示例代码:
def demo1():return int(input("输入整数:"))
def demo2():return demo1()
#利用异常的传递性,在主程序捕获异常
try:print(demo2())
except Exception as result:print("程序出现了%s错误"%(result))
抛出raise异常:
主动抛出异常
- python中提供了一个
Exception
异常类 - 在开发时,如果满足特定业务的需求时,希望抛出异常,可以
- 创建一个
Exception
的对象 - 使用
raise
关键字抛出异常对象
- 创建一个
需求案例:
- 定义
input_password
函数,提示用户输入密码 - 如果用户输入长度<8,抛出异常
- 如果用户输入长度>=8 返回输入的密码
def input_password():#1.提示用户输入密码result =input("请输入密码")#2.判断密码长度 >=8 ,返回用户输入的密码if len(result) >=8:return result#3.如果<8 主动抛出异常print("主动抛出异常!")#1>创建异常对象 -可以使用错误信息字符串作为参数ex =Exception("密码长度不够!")#2> 主动抛出异常raise ex
#提示用户输入密码
try:print(input_password())
except Exception as result:print(result)
以上为python全部的全部的异常处理,还是比较简单的!
python异常处理(十分钟彻底搞定!)相关推荐
- pandas 批量修改列名_十分钟想搞定pandas?
用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行数据分析>,看了好几遍,不是从头到尾看了 ...
- 十分钟彻底搞定python异常处理
异常处理: 捕获异常,简单的捕获异常语法,在程序开发时,可以尝试加如 try来捕获异常 try: 尝试执行的代码except: 出现错误的处理 try尝试 下方填写要尝试的密码,不确定能不能够正常执行 ...
- 十招轻松搞定社会媒体
十招轻松搞定社会媒体 十招轻松搞定社会媒体 社会媒体化成为在线营销的重要手段不再是什么秘密了,写一些好的内容并且进行推广只是这个过程的一小部分,你还必须加强在网络社会的曝光机会,有些人不知道如何开 ...
- 5 加盐_洗花甲时,别只放盐了!老渔民教您一招,5分钟就搞定,太省事了
导读:洗花甲时,别只放盐了!老渔民教您一招,5分钟就搞定,太省事了.大家都知道吃花甲前要将花甲中的沙子去除才可以吃,所以很多人都会用食盐浸泡花甲,虽然用食盐可以去除花甲中一部分的沙子,但是用食盐浸泡花 ...
- 如何在一分钟内搞定面试官
转载自 如何在一分钟内搞定面试官 很多人的求职面试的过程中都会遇到这个问题: "请做个自我介绍." 有的人,可以口若悬河.妙语连珠讲3分钟,有的人,可能磕磕巴巴,讲了30秒, ...
- python降低图片分辨率_手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定!...
原标题:手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定! 大数据文摘作品 编译:HAPPEN.于乐源.小鱼 一位乐于分享学生精彩笔记的大学教授对于扫描版的文件非常不满意--颜色不清晰并且 ...
- 手机密码用计算机怎么解锁,手机忘记开机密码怎么办,有这四招1分钟就搞定...
原标题:手机忘记开机密码怎么办,有这四招1分钟就搞定 有一天突然忘记了手机的开机密码解不了锁怎么办?放心,下面这几招既能快速解开锁屏密码,还保证不损坏手机硬件. 1.ADB解锁 ADB解锁是一个PC端 ...
- 老板要的物联网可视化大屏,我30分钟就搞定了
摘要:不知道大家在生活中有没有见过一些非常酷炫的可视化大屏应用? 本文分享自华为云社区<老板要的物联网可视化大屏,我30分钟就搞定了>,作者:华为云社区精选 . 不知道大家在生活中有没有见 ...
- 只用1分钟,搞定500份简历筛选!
只用1分钟,搞定500份简历筛选! 柳姑娘黄海柳 6635人已订阅 订阅 文|黄海柳 做招聘,其实就是HR通过自己的专业领域,利用专业知识技能,为企业各个部门.各个岗位搜集并提供优质人才.输送&qu ...
最新文章
- 2022-2028年中国GPS导航行业投资分析及前景预测报告
- keras 的 example 文件 babi_memnn.py 解析
- 关于bcache的一些事情
- linux环境变量 LD_LIBRARY_PATH 使用
- 【JetPack】kotlin-android-extensions 插件 ( 视图绑定简单用法 )
- 转载 HTTPS 之fiddler抓包、jmeter请求
- 基于Redis的单点登录
- 伦斯勒理工学院计算机科学本科,【择校解读】伦斯勒理工学院(RPI)院校指南...
- sns.load_dataset使用报错解决URLError: <urlopen error [Errno 11004] getaddrinfo failed>(windows))
- 洛谷 P1004 方格取数 WD
- windows和Linux下西部数据C1门解决方法
- Excel表格身份证号码如何一键提取性别、年龄、出生年月
- 在sap系统新建财务BTE OBBH OB28替代
- 小班运用计算机教学活动,小班《小蚂蚁》活动教案精选
- 【Windows11系统更新后蓝牙没了】
- HomeBrew和HomeBrew Cask的安装和使用
- PHP商城的搜索功能
- 技嘉服务器主板装系统,技嘉AB350M-DS3H主板u盘重装系统win7教程
- Windows 7 更新补丁(解决无法安装Axure RP 9)亲测可用
- Unity之谷歌应用内评价(google play in-app review)