task 3 python 异常处理

本文介绍了Python的异常处理机制,包括try-except、try-except-else、try-except-finally语句的用法,并通过实例展示了如何处理常见的错误类型。此外,还探讨了raise语句用于主动抛出异常的情况,并提供了一个猜数字游戏的练习,利用异常处理结构确保用户输入的有效性。
摘要由CSDN通过智能技术生成

标准异常(error)汇总

提示符 含义
BaseException 所有异常的 基类
Exception 常规异常的 基类
StandardError 所有的内建标准异常的基类
ArithmeticError 所有数值计算异常的基类
FloatingPointError 浮点计算异常
OverflowError 数值运算超出最大限制
ZeroDivisionError 除数为零
AssertionError 断言语句(assert)失败
AttributeError 尝试访问未知的对象属性
EOFError 没有内建输入,到达EOF标记
EnvironmentError 操作系统异常的基类
IOError 输入/输出操作失败
OSError 操作系统产生的异常(例如打开一个不存在的文件)
WindowsError 系统调用失败
ImportError 导入模块失败的时候
KeyboardInterrupt 用户中断执行
LookupError 无效数据查询的基类
IndexError 索引超出序列的范围
KeyError 字典中查找一个不存在的关键字
MemoryError 内存溢出(可通过删除对象释放内存)
NameError 尝试访问一个不存在的变量
UnboundLocalError 访问未初始化的本地变量
ReferenceError 弱引用试图访问已经垃圾回收了的对象
RuntimeError 一般的运行时异常
NotImplementedError 尚未实现的方法
SyntaxError 语法错误导致的异常
IndentationError 缩进错误导致的异常
TabError Tab和空格混用
SystemError 一般的解释器系统异常
TypeError 不同类型间的无效操作
ValueError 传入无效的参数
UnicodeError Unicode相关的异常
UnicodeDecodeError Unicode解码时的异常
UnicodeEncodeError Unicode编码错误导致的异常
UnicodeTranslateError Unicode转换错误导致的异常

标准警告 (warning)汇总

提示符 含义
Warning 警告的基类
DeprecationWarning 关于被弃用的特征的警告
FutureWarning 关于构造将来语义会有改变的警告
UserWarning 用户代码生成的警告
PendingDeprecationWarning 关于特性将会被废弃的警告
RuntimeWarning 可疑的运行时行为(runtime behavior)的警告
SyntaxWarning 可疑语法的警告
ImportWarning 用于在导入模块过程中触发的警告
UnicodeWarning 与Unicode相关的警告
BytesWarning 与字节或字节码相关的警告
ResourceWarning 与资源使用相关的警告

异常处理方法

try-except 语句

try 语句按照如下方式工作:

  • 首先,执行try子句(在关键字try和关键字except之间的语句) 如果没有异常发生,忽略except子句,try子句执行后结束。

  • 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。

  • 如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。最后执行try语句之后的代码。

  • 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。

try:
     检测范围
except 异常类型 [as error]:
    出现异常后的处理代码
  1. 为帮助大家更好地理解try-except语句,下面举一个由于语句 f.close( )缩进方式 的不同而依次产生的 OSError, SyntaxError, IndentationError
#OSError 操作系统产生的异常(打开一个不存在的文件)
try:
    f=open('1.txt')
    print(f.read())
    f.close()
except OSError:
    print('打开文件出错')  

由于未找到文件‘1.txt’,错误类型与OSError匹配,因而输出为:打开文件出错

  #SyntaxError 语法错误产生的异常
try:
    f=open('1.txt')
    print(f.read())
f.close()
<
Python异常处理机制是一种用来处理程序中出现的错误或异常情况的机制。它包括四个关键字:try、except、else和finally,以及raise语句。通过使用这些关键字,我们可以在程序中捕获并处理异常,从而避免程序崩溃。 在Python中,我们可以使用try和except关键字来捕获代码块中可能发生的异常。try块中的代码被称为被监视的代码,如果在执行try块的过程中发生了异常,那么程序会跳转到与异常类型匹配的except块,并执行其中的代码处理异常。 除了except块,我们还可以使用else块来定义在try块中没有发生异常时需要执行的代码。这些代码在try块正常执行完毕后被执行。 另外,finally块是一个可选的块,在无论是否发生异常时都会被执行。通常情况下,我们可以在finally块中进行一些扫尾清理工作,比如关闭文件或释放资源。 如果一个异常没有与任何的except块匹配,那么这个异常将会传递给上层的try中。如果Python解释器找不到处理异常的except块,则程序运行终止,Python解释器也将退出。这就是Python异常处理机制的基本原理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python异常处理机制](https://blog.csdn.net/qq_42402854/article/details/128908594)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python--异常处理机制](https://blog.csdn.net/weixin_53060366/article/details/130077074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值