导航:首页 > 编程语言 > python捕获异常信息

python捕获异常信息

发布时间:2022-06-05 12:59:50

A. python如何捕获错误信息

首先我们声明一个字符串,然后构建下表获取字符串中的字符,
然后我们经常会用一个越界的下表进行访问,就会报如下的错误:
相关推荐:《Python教程》
如果我们想捕获这个错误,并且加入我们自己的提示信息的话,可以用try与catch进行,
另外except中也可以精确的指定某一个异常类型,如下图所示,指定了除数为0的异常。
如果想输出异常提示信息的话,直接在except里进行输出即可,
最后提醒一下的是,try与except语句中也可以运用else语句的,
综上所述,python中进行异常的捕获运用try与except语句即可,异常信息的显示也可以自己进行定制。

B. python里如何提取日志中的错误信息

只要进行提取日志中的错误信息,那么你可以编辑一段程序,然后这样的话才能够完成达到提取的。

C. python异常值处理

如果你用 Python 编程,那么你就无法避开异常,因为异常在这门语言里无处不在。打个比方,当你在脚本执行时按 ctrl+c 退出,解释器就会产生一个 KeyboardInterrupt 异常。而 KeyError、ValueError、TypeError 等更是日常编程里随处可见的老朋友。

异常处理工作由“捕获”和“抛出”两部分组成。“捕获”指的是使用 try ... except 包裹特定语句,妥当的完成错误流程处理。而恰当的使用 raise 主动“抛出”异常,更是优雅代码里必不可少的组成部分。

异常分类

BaseException所有异常的基类
Exception常见错误的基类
ArithmeticError所有数值计算错误的基类
Warning警告的基类

AssertError断言语句(assert)失败
AttributeError尝试访问未知的对象属性
DeprecattionWarning关于被弃用的特征的警告
EOFError用户输入文件末尾标志EOF(Ctrl+d)
FloattingPointError浮点计算错误
FutureWarning关于构造将来语义会有改变的警告
GeneratorExitgenerator.close()方法被调用的时候
ImportError导入模块失败的时候
IndexError索引超出序列的范围
KeyError字典中查找一个不存在的关键字
KeyboardInterrupt用户输入中断键(Ctrl+c)
MemoryError内存溢出(可通过删除对象释放内存)
NamerError尝试访问一个不存在的变量
NotImplementedError尚未实现的方法
OSError操作系统产生的异常(例如打开一个不存在的文件)
OverflowError数值运算超出最大限制
OverflowWarning旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning关于特征会被遗弃的警告
ReferenceError弱引用(weakreference)试图访问一个已经被垃圾回收机制回收了的对象
RuntimeError一般的运行时错误
RuntimeWarning可疑的运行行为(runtimebehavior)的警告
StopIteration迭代器没有更多的值
SyntaxErrorPython的语法错误
SyntaxWarning可疑的语法的警告
IndentationError缩进错误
TabErrorTab和空格混合使用
SystemErrorPython编译器系统错误
SystemExitPython编译器进程被关闭
TypeError不同类型间的无效操作
UnboundLocalError访问一个未初始化的本地变量(NameError的子类)
UnicodeErrorUnicode相关的错误(ValueError的子类)
UnicodeEncodeErrorUnicode编码时的错误(UnicodeError的子类)
UnicodeDecodeErrorUnicode解码时的错误(UnicodeError的子类)
UserWarning用户代码生成的警告
ValueError传入无效的参数
ZeroDivisionError除数为零

D. 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:
其余代码

E. 怎样在python中捕获线程抛出的异常

python的线程中的异常,通常不会给你显示出错的语句。你可以将thread函数,或者是Thread的run里的内容用整个儿的try catch包裹起来。搜索

然后这样
import traceback,sys
try:
threadfun1()
except:
traceback.print_exc(file=sys.stdout)

这样出错的时候就能定位到是哪一行代码了。

因为线程经常出现这种无显示错误位置的情形。后来都形成了习惯,要不把线程放在try catch里。要不就仔细检查线程函数,确保它没有错误,再放出去运行。

另外你还可以将线程函数的功能放在主进程里,单线程运行。这样错误位置就曝露出来了。

仅仅从你这个提示来看是无法定位错误的位置与类型的。

F. Python with as为什么无法捕获异常

with在打开文件的这个操作中的作用是保证每次正常打开文件后,不论遇到什么,最后都会执行文件的关闭操作,避免脚本中遗漏。但是他自身并没有抓取异常的处理机制。

with open("asdasdas") as a:

print("打开成功")

do_something()

这段代码的含义,相当于打开了文件“asdasdas”后打印了“打开成功”的字样后,又处理了do_something()这段逻辑。不论do_something()这段逻辑正常执行结束,还是抛出异常,都会保证最终“asdasdas”这个文件都会被关闭。避免因为文件未被关闭而导致的种种问题。


你的代码可以改为以下部分,这样就可以catch到读取文件中的异常了。

try:

with open("asdasdas") as a:

print("打开成功")

except:

print("打开失败")

G. Python3 使用flask 怎么捕获异常,返回自定义消息呢。比如连接mysql错误,我直接给出个友好提示

flask我不知道,但是try可以处理所有异常,而且可以自定义输出的错误内容

try:
print(a)
exceptExceptionase:
print('error:{}'.format(e))

运行结果:

H. 请教python程序如何获得控制台中的异常信息

try
except
#用这个来抓取异常

阅读全文

与python捕获异常信息相关的资料

热点内容
安卓车载大屏如何下载歌词 浏览:959
删除这些文件夹 浏览:675
新建文件夹怎么设置快捷搜索 浏览:502
php远程服务器时间 浏览:150
依据表格批量修改文件夹名称 浏览:815
海南免税店离岛免税溯源码 浏览:324
演化算法与搜索算法区别 浏览:488
php输出javascript 浏览:884
如何新建密码访问文件夹 浏览:62
什么app最搞笑 浏览:96
CS编辑命令 浏览:949
程序员编码是指什么 浏览:527
在云服务器上安装软件 浏览:273
什么app可以免费听周董的歌 浏览:366
netmvcpdf 浏览:211
arp服务器回送的是什么地址 浏览:105
生物学pdf百度云 浏览:965
markdown源码包怎么下载 浏览:600
餐饮app开发公司哪个好 浏览:639
解压盒子2无广告 浏览:625