标签: traceback

运行时看到的 libffi 库的版本似乎与编译时看到的“ffi.h”文件不同

这个回溯搞乱了我所有的程序,我仍然无法修复它,我已经尝试了所有方法,但没有帮助!

问题是这样的:

ffi_prep_closure(): bad user_data (似乎运行时看到的 libffi 库的版本与编译时看到的 'ffi.h' 文件不同)

python traceback

17
推荐指数
4
解决办法
1万
查看次数

在不打印回溯的情况下打印错误消息,并在不满足条件时关闭程序

我已经看到了类似的问题,但没有一个真正解决了引用.如果我有这样的课程

class Stop_if_no_then():
    def __init__(self, value one, operator, value_two, then, line_or_label, line_number):
        self._firstvalue = value_one
        self._secondvalue = value_two
        self._operator = operator
        self._gohere = line_or_label
        self._then = then
        self._line_number = line_number

    def execute(self, OtherClass):
        "code comparing the first two values and making changes etc"
Run Code Online (Sandbox Code Playgroud)

我希望我的执行方法能够做的是,如果self._then不等于字符串"THEN"(在allcaps中),那么我希望它引发自定义错误消息并终止整个程序,同时也不显示追溯.

如果遇到错误,唯一应该打印的东西看起来像(我使用3作为示例,格式化不是问题)这个.

`Syntax Error (Line 3): No -THEN- present in the statement.`
Run Code Online (Sandbox Code Playgroud)

我不是很挑剔它实际上是一个异常类对象,所以在这方面没有问题.因为我将在while循环中使用它,简单如果,elif只是一遍又一遍地重复该消息(因为显然我没有关闭循环).我见过sys.exit(),但是也打印出一个巨大的红色文本块,除非我没有正确使用它.我不想在循环中捕获异常,因为在同一个模块中还有其他类需要实现这样的东西.

python error-handling customization exception traceback

16
推荐指数
6
解决办法
3万
查看次数

python 内置的 __exit__ 参数类型是什么?

类具有__exit__允许实现上下文管理器的可定义函数。

它需要所需的参数:

def __exit__(self, exc_type, exc_val, exc_tb):
Run Code Online (Sandbox Code Playgroud)

但我找不到这些论点是什么及其类型的明确定义。

这是我对它们是什么以及为什么的最佳猜测,但我不完全确定:

def __exit__(self, exc_type: Exception, exc_val: TracebackException, exc_tb: TracebackType):
Run Code Online (Sandbox Code Playgroud)

exc_type

蟒限定了TracebackException一个接受一个类exc_type,其中内容使用在构造参数issubclassSyntaxError,这推断出exc_type确实是某种Exception,其SyntaxError从继承。

exc_val

此外,在TracebackException类是exc_value符合了我们的说法exc_val似乎有不同的属性,如__cause____context__和那些在所有定义的其他属性TracebackType本身。这让我觉得参数本身就是TracebackException.

exc_tb

蟒限定walk_tb函数使用exc_tb作为参数(手动地从跟踪docs.python.org),并且该对象似乎具有tb_frametb_linenotb_next其可追溯到一个属性TracebackType在类typeshed库。

想法?

python exception with-statement traceback python-3.x

16
推荐指数
2
解决办法
2842
查看次数

15
推荐指数
1
解决办法
3114
查看次数

如何在Perl中获取追溯?

可能重复:
如何对Perl中的所有致命错误强制执行堆栈回溯?

我喜欢Python的一个方面是,当一个脚本因为错误而退出时,它会抛出一个回溯.我想知道是否还有Perl这样做呢?

perl exit traceback

14
推荐指数
2
解决办法
3959
查看次数

如何获取传递给堆栈中函数的参数值?

使用:

traceback.print_stack()
Run Code Online (Sandbox Code Playgroud)

我可以得到:

  File "x.py", line 20, in <module>
    y(x)
  File "x.py", line 11, in y
    fun(x)
  File "x.py", line 8, in fun
    traceback.print_stack()
Run Code Online (Sandbox Code Playgroud)

我有办法得到这样的东西:

  File "x.py", line 20, in <module>
    y(x) WHERE x == 1
  File "x.py", line 11, in y
    fun(x) WHERE x == 'str'
  File "x.py", line 8, in fun
    traceback.print_stack()
Run Code Online (Sandbox Code Playgroud)

我只是想看看哪些参数传递给函数.

python stack-trace traceback

14
推荐指数
2
解决办法
5201
查看次数

Django:为什么我在运行LiveServerTestCase测试时无法获得回溯(如果出现错误)?

我正在用Selenium写一些测试.

当我运行我的selenium测试(LiveServerTestCase类型)并且我的代码中有一些错误(不是在测试中,我的意思是在执行的代码中,就像我用selenium到达的主页视图)我得到500模板(通常我得到的时候)我有DEBUG = False)即使我有:

DEBUG = True 
INTERNAL_IPS = ('127.0.0.1',)
Run Code Online (Sandbox Code Playgroud)

我坚持这一点,我不明白为什么我的测试失败(因为在公众500我没有显示例外).

为什么它表现得那样?我在哪里可以解决?

当我运行runserver时它完美运行(我得到回溯).

python django debugging selenium traceback

14
推荐指数
2
解决办法
2555
查看次数

从警告中追溯

我有一个代码,在某些时候显示警告,我认为它有一个问题计算 mean()

我想知道是否有任何方法可以强制python告诉我在哪里,或哪行,或者除了这条消息以外的更多信息:

C:\Python27\lib\site-packages\numpy\core\_methods.py:55: RuntimeWarning: Mean of empty slice.
  warnings.warn("Mean of empty slice.", RuntimeWarning)
C:\Python27\lib\site-packages\numpy\core\_methods.py:79: RuntimeWarning: Degrees of freedom <= 0 for slice
  warnings.warn("Degrees of freedom <= 0 for slice", RuntimeWarning)
Run Code Online (Sandbox Code Playgroud)

我不知道是否有可能"抓住"警告..​​...如果我有任何错误,通常我使用的是追溯包:

import traceback

然后我通常做:

try:
    #something
except:
    print traceback.format_exc()
Run Code Online (Sandbox Code Playgroud)

python warnings traceback

14
推荐指数
1
解决办法
9380
查看次数

Python打印最后的追溯只?

请考虑以下代码和回溯:

>>> try:
...  raise KeyboardInterrupt
... except KeyboardInterrupt:
...  raise Exception
... 
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
Exception
>>> 
Run Code Online (Sandbox Code Playgroud)

我想只打印最近的追溯(其中一个Exception被提出).
怎么能实现这一目标?


从上面的例子中,我想打印以下内容,就像raise Exceptionexcept子句之外调用一样.

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
Exception
Run Code Online (Sandbox Code Playgroud)

python traceback python-3.x

13
推荐指数
1
解决办法
1385
查看次数

从IronPython异常中获取回溯信息

我在我的应用程序中托管了IronPython,每当我捕获从脚本抛出的异常时,我就会得到像这样无益的乱码:

IronPython.NewTypes.System.Exception_1$1: Error occurred during conversion ---> Microsoft.Scripting.ArgumentTypeException: expected int, got DispMethod
   at _stub_$245##245(Closure , CallSite , Object )
   at Microsoft.Scripting.Actions.MatchCaller.Call1[T0,TRet](Func`3 target, CallSite site, Object[] args)
   at Microsoft.Scripting.Actions.CallSite`1.UpdateAndExecute(Object[] args)
   at Microsoft.Scripting.Actions.UpdateDelegates.Update1[T,T0,TRet](CallSite site, T0 arg0)
   at _stub_$227##227(Closure , CallSite , Object )
   at IronPython.Runtime.Converter.Convert(Object value, Type to)
   at IronPython.Runtime.Operations.ArrayOps.SetItem(Array data, Int32 index, Object value)
   at _stub_$244##244(Closure , CallSite , Object , Object , Object )
   at Microsoft.Scripting.Actions.MatchCaller.Call3[T0,T1,T2,TRet](Func`5 target, CallSite site, Object[] args)
   at Microsoft.Scripting.Actions.CallSite`1.UpdateAndExecute(Object[] args)
   at Microsoft.Scripting.Actions.UpdateDelegates.Update3[T,T0,T1,T2,TRet](CallSite site, T0 arg0, T1 …
Run Code Online (Sandbox Code Playgroud)

ironpython exception traceback

12
推荐指数
1
解决办法
3310
查看次数