Python中程序异常都能被处理吗?

“异常”是Python对象,表示一个错误。如果不想出现异常后程序自动停止运行,编程的人,就要主动捕捉异常,并自己作出相应处理。捕捉异常可以使用try/except语句。try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。下面是try/except的示例,说明了怎样处理各种异常:try: ...
Python中程序异常都能被处理吗?
“异常”是Python对象,表示一个错误。
如果不想出现异常后程序自动停止运行,编程的人,就要主动捕捉异常,并自己作出相应处理。
捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
下面是try/except的示例,说明了怎样处理各种异常:
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
Python的各种标准异常是预先定义好的。基本上包括了常见的异常情况,主要有以下内容。

异常名称 描述

BaseException 所有异常的基类
SystemExit 解释器请求退出
KeyboardInterrupt 用户中断执行(通常是输入^C)
Exception 常规错误的基类
StopIteration 迭代器没有更多的值
GeneratorExit 生成器(generator)发生异常来通知退出
StandardError 所有的内建标准异常的基类
ArithmeticError 所有数值计算错误的基类
FloatingPointError 浮点计算错误
OverflowError 数值运算超出最大限制
ZeroDivisionError 除(或取模)零 (所有数据类型)
AssertionError 断言语句失败
AttributeError 对象没有这个属性
EOFError 没有内建输入,到达EOF 标记
EnvironmentError 操作系统错误的基类
IOError 输入/输出操作失败
OSError 操作系统错误
WindowsError 系统调用失败
ImportError 导入模块/对象失败
LookupError 无效数据查询的基类
IndexError 序列中没有此索引(index)
KeyError 映射中没有这个键
MemoryError 内存溢出错误(对于Python 解释器不是致命的)
NameError 未声明/初始化对象 (没有属性)
UnboundLocalError 访问未初始化的本地变量
ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError 一般的运行时错误
NotImplementedError 尚未实现的方法
SyntaxError Python 语法错误
IndentationError 缩进错误
TabError Tab 和空格混用
SystemError 一般的解释器系统错误
TypeError 对类型无效的操作
ValueError 传入无效的参数
UnicodeError Unicode 相关的错误
UnicodeDecodeError Unicode 解码时的错误
UnicodeEncodeError Unicode 编码时错误
UnicodeTranslateError Unicode 转换时错误
Warning 警告的基类
DeprecationWarning 关于被弃用的特征的警告
FutureWarning 关于构造将来语义会有改变的警告
OverflowWarning 旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning 关于特性将会被废弃的警告
RuntimeWarning 可疑的运行时行为(runtime behavior)的警告
SyntaxWarning 可疑的语法的警告
UserWarning 用户代码生成的警告
Python系统处理异常就是提示一下,停止运行。不想停止,只有自己处理。
可以不带类型,所有异常执行同一组语句:

try:正常的操作except:发生异常,执行这块代码else:如果没有异常执行这块代码

也可以多个异常共用一段代码:
ry:正常的操作except(Exception1[, Exception2[,...ExceptionN]]]):发生以上多个异常中的一个,执行这块代码else:如果没有异常执行这块代码

还有一种格式,可以有finally部分:
try:fh = open("testfile", "w")try:fh.write("这是一个测试文件,用于测试异常!!")finally:print "关闭文件"fh.close()except IOError:print "Error: 没有找到文件或读取文件失败"
当在try块中抛出一个异常,立即执行finally块代码。
finally块中的所有语句执行后,异常被再次触发,并执行except块代码。
参数的内容不同于异常。
除了标准异常,我们也可以自己定义异常,并进行处理,这时用到raise语句:
raise [Exception [, args [, traceback]]]
语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,args 是自已提供的异常参数。
最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
相应的异常处理程序示例如下:
try:正常语句,内含raise语句
except Exception,err:触发自定义异常
else:其余代码
2021-04-11
mengvlog 阅读 7 次 更新于 2025-07-20 06:30:52 我来答关注问题0
  • Python系统处理异常就是提示一下,停止运行。不想停止,只有自己处理。可以不带类型,所有异常执行同一组语句:try:正常的操作except:发生异常,执行这块代码else:如果没有异常执行这块代码 也可以多个异常共用一段代码:ry:正常的操作except(Exception1[, Exception2[,...ExceptionN]]]):发生以上多个异常...

  •  誉祥祥知识 python捕获所有异常怎么写

    在Python中,捕获所有异常可以使用try-except语句,并指定一个通用的异常类型。在Python 3中,捕获所有异常的通用方法是使用Exception作为异常类型,或者使用更通用的BaseException(包括系统退出等更底层的异常)。以下是具体的写法:使用Exception捕获所有常规异常:pythontry: # 可能抛出异常的代码 passe...

  • 尝试使用try语句来运行可能出现错误的代码段。如果代码执行时出现异常,程序会跳过后续代码直接执行错误处理部分,通常位于except语句块。如果在处理异常后还有需要执行的代码,可以添加一个finally语句块。当try和except执行完毕,无论是否发生异常,finally语句块都会被运行。Python的try语句有两类风格,分别是tr...

  • Python中的try..except异常处理机制允许程序在运行时遇到错误时能够有选择地执行相应的逻辑。具体说明如下:基本结构:try块:包含可能引发异常的代码。except块:用于捕获和处理try块中引发的特定类型的异常。可以针对不同类型的异常使用多个except块进行处理。通用异常处理:使用except Exception可以捕获所有继承...

  • 如果try语句块没有发生任何异常,else子句将被执行。它通常用于定义在没有异常发生时的常规操作。finally子句:finally子句无论是否发生异常,都会被执行。它通常用于清理工作,如关闭文件或网络连接,确保资源的正确释放。通过捕获并处理异常,tryexcept语句确保了程序的稳定性和可维护性,是编写健壮Python代码...

檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部