栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

DAY9错误与异常处理1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DAY9错误与异常处理1

概述

有时候代码写错了,执行程序的时候,执行到错误代码的时候,程序直接终止报错,这是因为python检测到一个错误时,解释器就无法执行了,出现了错误的提示,这就是异常。

示例

语法格式

try:
       可能出现错误的代码块
except:
        出错之后执行的代码块
else: 
         没有出错的代码块
finally:
         不管有没有出错都执行的代码块

try……except语句

将可能出错的代码放到try里面,except可以指定类型捕获异常。except里面的代码是捕获到异常时执行,将错误捕获,这样程序就不会因为一段代码包异常而导致整个程序崩溃。

示例
捕获ZeroDivisionError异常

实操
在正常执行的时候,如果第一句出错那么整个程序都不会再执行下去,会直接在错误的地方停止报错


这样出现错误就停止使得检错工作异常麻烦,所以我们可以使用try……except函数,这样也会报错,但会继续运行下面的语句


但下面这种错误会直接跳出来,为什么呢?


这是因为我们在except之后指定了是NameError 类型,但这个错误是IndexError类型的,所以并没有捕获到。

错误类型是可以写很多个多次叠加的


小结

except在捕获错误异常的时候,只要根据具体的错误类型来捕获的。
用一个块,可以捕获多个不同类型的异常。

python中内置的错误类型

有没有一种方法可以捕获所有异常呢?(因为可能存在不知道是什么异常的情况)



不需要在每个可能出错的地方去捕获,只要在合适的层次去捕获错误就可以了,这样的话,就大大减少了我们写try……except的麻烦


如果不使用try……except函数呢?


这种报错会显示函数的运行逻辑。

异常的抛出机制

如果在运行时发生异常,解释器会查找相应的异常捕获类型;如果在当前函数里面没有找到的话,它会将异常传递给上层的调用函数,看能否处理;如果在最外层没有找到的话,解释器就会退出,程序就会down掉

try-except-else函数



但如果try里面语句正确运行

则else里面的语句就会运行

try-except-finally函数


当try模块没有错误时

finally里面的代码块仍然正常运行


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/313807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号