5

次のようなエラーが発生します。

2010-07-13 20:43:15.131 Python[1527:60f] メイン: OC_PythonException をキャッチ:: LoginMenuSet インスタンスに属性 'play_sound' がありません

それはこのコードです:

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

トレースバックとその他すべてでPython例外が正常に出力されるようにします。

ありがとうございました。

4

2 に答える 2

9

Python の例外を確認する方法の 1 つは、 を呼び出すことobjc.setVerbose(1)です。これにより、PyObjC が少し冗長になり、例外を Python から Objective-C に変換するときに Python スタック トレースが出力されます。

于 2010-08-31T14:01:12.280 に答える
0

これが私自身の解決策です:

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 サブクラスでは:

def exception_(self,trace):
        traceback.print_tb(trace)
        NSApplication.sharedApplication().terminate_(None) #Accept no errors

もちろん、traceback モジュールをインポートしました。

于 2010-09-01T12:24:13.200 に答える