使用PyObjC以正常方式打印python异常

2024-09-30 10:41:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了这样的错误:

2010-07-13 20:43:15.131 Python[1527:60f] main: Caught OC_PythonException: : LoginMenuSet instance has no attribute 'play_sound'

代码如下:

@try {
    [section loop]; //Loop through section
} @catch (NSException *exception) {
    NSLog(@"Caught %@: %@", [exception name], [exception reason]);
}

我希望python异常与回溯和其他所有内容一起正常打印。在

谢谢。在


Tags: instanceno代码playmain错误exceptionsection
2条回答

查看Python异常的一个技巧是调用objc.setVerbose(1)。这使得PyObjC稍微更加冗长,并导致它在将异常从Python转换为Objective-C时打印Python堆栈跟踪

以下是我自己的解决方案:

在Objective-C课程中:

@try {
        [section loop]; //Loop through section
    } @catch (NSException *exception) {
        NSLog(@"main: Caught %@: %@", [exception name], [exception reason]);
        [self exception: [[exception userInfo] valueForKey: @"__pyobjc_exc_traceback__"]];
    }

在python pyobjc子类中:

^{pr2}$

当然,我导入了回溯模块。在

相关问题 更多 >

    热门问题