在Python中,捕获“所有”异常的最佳方法是什么?
except: # do stuff with sys.exc_info()[1]
except BaseException as exc:
except Exception as exc:
捕获可以在线程中执行。
我的目标是记录普通代码可能抛出的任何异常,而不屏蔽任何特殊的Python异常,例如那些指示进程终止等的异常。
还需要获得异常的句柄(例如通过上面包含exc的子句)。
在Python 2.7中,您可以执行此操作以查看异常列表:
import exceptions
for i in dir(exceptions):
print (i)
Python3.2也有类似的东西吗?有一点是没有模块“异常”的。我知道你可以在异常上迭代,但这并不能给你一个所有可能的异常的列表,这就是我正在寻找的。
我知道使用try...except语句可以忽略Python中的异常。在Python中出现异常,但仍然打印异常时,是否可以忽略它们?
我试图在这里忽略该异常,因此,当遇到异常时,不会打印该异常:
try:
num = 0
if num == 0:
raise Exception("Num must not be 0!")
except Exception:
pass
'''The exception is ignored, and is not printed.'''
我编写了一个简单
在python 3中,我如何忽略要向调用方引发的某个异常?
示例:
def do_something():
try:
statement1
statement2
except Exception as e:
# ignore the exception
logging.warning("this is normal, exception is ignored")
try:
do_something()
except Exception as e:
# this is unexpe
最近我遇到了一个问题&对可能的解决方案感到困惑,代码部分是
// code part in result reader
result = map(int, input())
// consumer call
result_consumer(result)
这不是关于它们是如何工作的,问题是当你在python2中运行时,它会引发一个异常,在结果获取部分,所以结果读取器可以处理异常,但在python3的情况下会返回一个map object,所以只有消费者才能处理异常。在python2和python3中保留map功能和处理异常有什么解决方案吗?
python3
>>> d
我目前正在Django学习,在这个获取请求中,我总是得到相同的错误。我怎么才能避免呢?
topup.html
let data = new FormData();
data.append('amount', document.getElementById('amount').value);
data.append('csrfmiddlewaretoken', "{{ csrf_token }}");
var response
当在python2中运行时,我在try块本身中发现了这段检测异常的代码。
import sys
for i in range(3):
try:
if sys.exc_info()[1]:
print("Exception found")
else:
print("Exception not found")
raise Exception("Random exception")
except Exception as e:
如果我在python中使用用c编写的lib,比如zlib,我会得到如下错误:
error: Error -3 while decompressing: invalid distance too far back
我该如何处理python的这个异常?据推测,异常是在c模块中定义的,并且没有像except SomeException这样的异常类。
如何在使用ruby u时获得异常后在python中重试循环
begin
a.each do |s|
end
rescue
sleep 2
retry
end
我将使用睡眠时间,并在获得excpetion后使用重试循环,现在我想在python中执行此操作。
我知道用于异常处理的代码
try:
for i in w:
#Loop code
exception e:
如果有异常如何重试循环?#如果有异常如何重试循环?