异常处理try_except-else-finally
不需要在每个可能出错的地方捕获,只要在合适的层次去捕获错误就可以
#语法格式:
try:可能出错的代码块
except:出错后执行的代码块
else:没有出错的代码块
finally:不管有没有错都执行的代码块
try-except
- except在捕获错误类型的时候,主要根据具体的错误类型来捕获的
- 用一个try可以捕获多个不同类型的异常
code 1:
try:print(b) #这里是要捕获的代码except NameError: #指定错误类型为NameRrror#捕捉到错误会在这里执行print("NameError")
code 2:
try:print(b) #这里是要捕获的代码except NameError as msg:#捕捉到错误会在这里执行print(msg)
code 3:
try:li=[1,2,54,78] #这里是要捕获的代码print(li[10])a=10/0
except NameError as msg:#捕捉到错误会在这里执行print(msg)except IndexError as msg:print(msg)
except ZeroDivisionError as msg:print(msg)
code 4:
try:a=10/0
except Exception as msg:print(msg)
code 5:
def A(s):return 10/int(s)
def B(s):return A(s)*2
def main():try:B("0")except Exception as msg:print(msg)main()
#不需要在每个可能出错的地方捕获,只要在合适的层次去捕获错误就可以
try-except-else
try:print (aa)
except Exception as msg:print(msg)
else:print("当try里面没有错误。else才会执行")
try-except-else-finally
try:print (aa)
except Exception as msg:print(msg)
else:print("当try里面没有错误。else才会执行")
finally:print("不过有没有错都执行")
自定义异常
- 自定义异常,都要直接或者间接的继承
Error
或Exception
类 - 由开发者主动抛出自定义异常,在python中使用
raise
关键字
class ToolsMyException(Exception):def __init__(self, leng):self.leng = lengdef __str__(self):return "您输入的的姓名长度是"+str(self.leng)+"已经超过长度"def name_Test():name=input("请输入姓名")try:if len(name)>5:raise ToolsMyException(len(name))else:print(name)except ToolsMyException as result:print(result)finally:print("执行完毕-------")name_Test()
异常处理try_except-else-finally相关推荐
- Python的异常处理机制 -- (转)
当你的程序中出现异常情况时就需要异常处理.比如当你打开一个不存在的文件时.当你的程序中有一些无效的语句时,Python会提示你有错误存在. 下面是一个拼写错误的例子,print写成了Print.Pyt ...
- python print error 空_python笔记37:10分钟掌握异常处理,再也不担心程序挂了
主要内容: 小目标:异常处理 主要内容:错误与异常,try_except语句 对于撸代码的程序员来说,程序运行中出现问题是常见的现象: 实际学习与工作中,我们会花很大的精力去解决各种问题: 1. 程序 ...
- python异常处理_Python学习点滴04 - 学会异常处理(2)
前言 我们在开发Python程序时经常会遇到一些错误(语法错误和异常),尤其是程序代码发生异常(Exceptions)时,如果不能及时捕获异常和有效处理异常,则程序运行会被终止,有可能会造成相应的后果 ...
- pythontrycatch所有异常状态_python 一篇搞定所有的异常处理
异常处理 在项目开发中,异常处理是不可或缺的.异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在.异常处理还可以提高程序的容错性. 我们之前在讲循环对象的时候,曾提到一个St ...
- Go语言的错误异常处理机制及其应用
一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...
- SpringBoot (二) :全局异常处理设置
说在前面 在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler.@InitBinder.@ModelAttribute,并应用到所有 ...
- 2021年大数据常用语言Scala(三十四):scala高级用法 异常处理
目录 异常处理 捕获异常 抛出异常 异常处理 Scala中 无需在方法上声明异常 来看看下面一段代码. def main(args: Array[String]): Unit = {val i = 1 ...
- Java基础(七)--Exception异常处理
发现错误的理想时机是程序运行之前(编译期),然后不太现实,很多异常无法被发现(特别是业务上的数据),需要在运行时解决. 错误恢复机制保证代码健壮性的方式,异常处理在程序中很常见,也是必须的,必须考虑有 ...
- 零基础学习python_异常处理(32-33课)
我们写完python执行的时候是不是经常会遇到报错,而且报错都是大片红字,这样给别人的感受就是你写的程序怎么老是出问题啊,这样我们还咋么混下去呢?于是乎,就有了异常处理的东东. python的try语 ...
- Spring Security 实战干货:自定义异常处理
Spring Security 实战干货:自定义异常处理 转自:https://www.cnblogs.com/felordcn/p/12142514.html 文章目录 1. 前言 2. Sprin ...
最新文章
- 解读 | 2019 年 10 篇计算机视觉精选论文
- 优先队列的数组实现(有序)
- 详解 lsusb命令
- silverlight 跨域socket
- linux命令行翻页
- 【设计模式从青铜到王者】第八篇:创建型模式之建造者模式(BuilderPattern)
- android英文菜单,安卓recovery菜单中英文对照
- java integer最大值_java int型最大值/最小值,最大值+1,最小值-1
- 「Go工具箱」web中想做到cookie值安全?securecookie库的使用和实现原理
- docker容器获取宿主机IP
- 全球域名商域名增量Top15:51DNS排名降至第十二
- python使用xlwings库操作Excel常见操作
- 稳压二极管TVS二极管
- 从与迪思杰签约 看浪潮主机生态如何布局?
- python操作手机app超详细步骤
- NBS BioCommand PLUS
- c调用python第三方包_cbillington_Python包维护者_第三方库作者_PyPI项目模块Package - Python中文网...
- bert 环境搭建之PytorchTransformer 安装
- 26个英语单词起源(百度百科+巴士英语)
- VSCODE+EIDE开发STM32
热门文章
- 【记录读论文时遇到的一些算法1】——MCMC sampling Gibbs sampling
- linux 搜索文本手机号,Linux三剑客学习之提取手机号码
- Ubuntu18.04安装后要做的事
- Windows AppData介绍
- Open FIFO for write returns “No such device or address“
- 蓄电池放电容量测试方法——TFN DC-E60150蓄电池放电容量测试仪
- [转]多媒体封装格式详解---MP4
- L3-1 千手观音【拓扑排序】
- webrtc在服务器端通信协议,一种基于WebRTC通信的Web协议WebTorrent
- Dweb:使用WebRTC / WebTorrent构建弹性Web