あなたの質問は少し不明ですが、私はとにかくそれに答えようとします。
Objective-CからJavascriptへの例外を発生させる必要がある場合は、-[JSContext exception]
プロパティを使用する必要があります。詳細は、following questionを参照してください。
myJSContext[@"PassExceptionToObjC"] = ^void(JSValue *)jsException {
// Handle exception
}
そしてJavaScriptで次のコードを使用します:
try {
// some code
}
catch (exception) {
PassExceptionToObjC(exception);
}
をJavaScriptからのObjective-Cの例外を渡す
は簡単です、あなたは単に似のObjective-Cで例外を処理するいくつかの方法を、エクスポート
また、JavascriptからObjective-Cに特定の値を返すこともできます。同様に:あなたはJavascriptから呼び出された方法でのObjective-Cの例外をスロー避けるために必要がある場合には
function doSomething() {
try {
// Do something
return 'Ok';
}
catch (error) {
return 'Error happens ' + error.message;
}
}
、単にあなたのObjective-Cのメソッドまたはブロックに@try/@catch
を追加する必要があります
myJSContext[@"DoSomething"] = ^void(JSValue *)someValue {
@try {
// Do something
}
@catch (NSException *exception) {
// Handle exception
}
}
あるいは、 Objective-Cコードのロジックを変更すると、例外が発生します。
Objective-Cから呼び出されたJavascriptの例外を避ける必要がある場合、同様の方法が適用されます。単にtry/catch
を追加します。ほとんどの場合、Objective-Cから呼び出されたJavaScriptの例外を無視することができます。しかし、私は少なくとも、トラブルシューティングを簡単にするために、自明ではないJavascriptに対してObjective-C側で例外ハンドリングを実装することを提案します。
希望します。