Mat*_*ell 4 python pyobjc exception-handling exception objective-c
我收到这样的错误:
2010-07-13 20:43:15.131 Python [1527:60f] main:抓到OC_PythonException :: LoginMenuSet实例没有属性'play_sound'
这是代码:
@try {
[section loop]; //Loop through section
} @catch (NSException *exception) {
NSLog(@"Caught %@: %@", [exception name], [exception reason]);
}
Run Code Online (Sandbox Code Playgroud)
我想通过回溯和其他一切正常打印python异常.
谢谢.
查看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__"]];
}
Run Code Online (Sandbox Code Playgroud)
在 python pyobjc 子类中:
def exception_(self,trace):
traceback.print_tb(trace)
NSApplication.sharedApplication().terminate_(None) #Accept no errors
Run Code Online (Sandbox Code Playgroud)
当然,我导入了回溯模块。
| 归档时间: |
|
| 查看次数: |
551 次 |
| 最近记录: |