python3异常可直接抛出_python自定义异常

python3异常可直接抛出_python自定义异常python抛出异常的方法发布时间:2020-08-1411:10:34来源:亿速云阅读:89作者:小新这篇文章主要介绍python抛出异常的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。python学习网,大量的免费python视频教程,欢迎在线学习!常见异常#…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

python抛出异常的方法

发布时间:2020-08-14 11:10:34

来源:亿速云

阅读:89

作者:小新

这篇文章主要介绍python抛出异常的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

异常是Python对象,表示一个错误。

当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

python学习网,大量的免费python视频教程,欢迎在线学习!

常见异常# AttributeError 调用不存在的方法引发的异常

# EOFError 遇到文件末尾引发的异常

# ImportError 导入模块出错引发的异常

# IndexError 列表月越界引发的异常

# IOError I/O操作引发的异常,如打开文件出错等

# KeyError 使用字典中不存在的关键字引发的异常

# NameError 使用不存在的变量名引发的异常

# TabError 语句块缩进不正确引发的异常

# ValueError 搜索列表中不存在值引发的异常

# ZeroDivisionError 除数为零引发的异常

基础异常处理

try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。

如果你不想在异常发生时结束你的程序,只需在try里捕获它。

try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句(与try同级的except等)先执行,接下来会发生什么依赖于执行时是否出现异常。

如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。

如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。

如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。

不管在try有无异常抛出时都会执行本级try对应的finally。

基础语法try:

检测异常代码段except:

发生异常后执行代码段else:

未发生异常执行代码段finally:

最终执行代码段

例如print(“test1”)

try:

s = input()

if s is None:

print (“s 是空对象”)

print(len(s))  #这句抛出异常

except TypeError:

print(“类型错误空对象没有长度”)

else:

print(“no problem”)

finally:

print(‘end test1’)

以上是python抛出异常的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180635.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • es6的解构赋值_字符串赋值给字符指针

    es6的解构赋值_字符串赋值给字符指针ES6模板字符串与解构赋值

  • nginx正向代理(超简单)

    正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。环境192.168.153.179:正向代理192.168.153.178:客户端CentOSLinuxrelease7.5.1804(Core)关闭防火墙和selinux开始部署:首先,两台服务器安装nginx源码安装:1、安装启动安装依赖yum-yinstallwgetgcc

  • 如何创建conda环境_conda安装Python包

    如何创建conda环境_conda安装Python包Pycharm中如何使用新建的conda环境?

  • spring对JDBC的支持

    spring对JDBC的支持

  • arm的一些概念(ARM9、Cortex的区别)

    arm的一些概念(ARM9、Cortex的区别)arm的一些概念(ARM7、Cortex-M的区别)ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex系列:ARMv7架构。  ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。uc…

  • SQL2008安装教程

    SQL2008安装教程1、首先,在安装文件setup.exe上,单击鼠标右键选择”以管理员的身份运行”,如下图所示:2、首先单击安装光盘中的setup.exe安装文件,打开如下所示的”SQLServer安装中心”对话框:3、选择左边的安装选项,单击右边的”全新SQLServer独立安装或向现有安装添加功能”选项,如图所示:4、在打开的”SQLServer2

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号