没有合适的资源?快使用搜索试试~ 我知道了~
文章目录错误和异常语法错误异常异常处理抛出异常自定义异常类定义清理操作预定义的清理操作参考资料来源 错误和异常 在编写代码的时候,先不管出于什么原因,在运行阶段,可能都看到过一些错误的信息。这些信息当中(至少)有两种可区分的错误:语法错误 和 异常。 语法错误 语法错误也叫解析错误,这可能在学习编码中最容易遇到的错误: >>> while True print('Hello World') File "", line 1 while True print('Hello World') ^ SyntaxError: invalid synta
资源详情
资源评论
资源推荐
Python 错误和异常错误和异常
文章目录文章目录错误和异常语法错误异常异常处理抛出异常自定义异常类定义清理操作预定义的清理操作参考资料来源
错误和异常错误和异常
在编写代码的时候,先不管出于什么原因,在运行阶段,可能都看到过一些错误的信息。这些信息当中(至少)有两种可区分
的错误:语法错误语法错误 和 异常异常。
语法错误语法错误
语法错误也叫解析错误,这可能在学习编码中最容易遇到的错误:
>>> while True print('Hello World')
File "", line 1
while True print('Hello World')
^
SyntaxError: invalid syntax
当出现错误时,解释器会输出出现语法错误的那行,同时会显示 ^ 符号标记检测到的错误。符号标记的位置表示错误出现在此
处(或表示至少错误是在此处被检测出)。在这个示例中,print() 函数被检测出错误,这是因为前面的条件语句少了个冒号
(:)。在错误信息中,会出现行号以及文件名,这都能方便在出现错误的时候到相应的位置检查。
异常异常
有时候,检查编写的代码发现并没有什么语法错误,但在执行时,还是会引发错误。这种在执行时检测到的错误被称为异常异常。
大多数异常并不会被程序处理,会显示如下的错误信息:
>>> 10 / 0
Traceback (most recent call last):
File "", line 1, in
ZeroDivisionError: division by zero
>>> x + 4
Traceback (most recent call last):
File "", line 1, in
NameError: name 'x' is not defined
>>> 1 + '1'
Traceback (most recent call last):
File "", line 1, in
TypeError: unsupported operand type(s) for +: 'int' and 'str'
如上示例,错误信息最后一行会告诉我们程序遇到的是什么类型的错误。在上面的例子中,出现的异常的类型分别
是:ZeroDivisionError、NameError 和 TypeError。类型后面部分的信息则表示根据异常类型及其原因提供详细的信息。
异常处理异常处理
python 内置 try...except... 错误处理机制。
用例子看下 try...except... 机制:
try:
r = 10 / 0
print('r=', r)
except ZeroDivisionError as e:
print('except:', e)
print('END')
程序运行结果如下:
except: division by zero
END
在这里说明一下 try 语句的工作原理:
首先,执行 try 子句(也就是 try 和 except 关键字之间的语句)。
如果这个时候没有异常产生,则会跳过 except 子句,完成 try 语句的执行。
如果在执行 try 子句的时候发生异常,则会跳过该子句中剩下的部分(例如这个例子中,10 / 0 会产生异常,后面的 print('r=', r)
语句并没有执行)。这个时候,如果异常的类型与 except 关键字后面的异常类型匹配,则会执行 except 子句。最后继续执行
整个 try 语句之后的代码(例如本例子中 print('END'))。
如果发生的异常和 except 关键字后面指定的异常不匹配,则会向外部进行传递;若是没有找到处理程序,则认定为未处理异
常,执行的时候将会停止,并显示前面提及的错误信息。
weixin_38725902
- 粉丝: 4
- 资源: 930
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0