从Objective-C引发exception返回到Javascript

JavascriptCore允许我们通过JSExport协议将我们的Objective-C类暴露给javascript。 比方说,在其中一个公开的Objective-C类的方法中,遇到了引发exception的情况。 有没有办法创build所述的exception,并提出这样的JavaScript代码可以处理它,因为它会处理一个正常的JavaScriptexception?

我试着做一个常规的[NSException raise...]并立即造成了崩溃。

我降级检测提出条件,将该条件传回到JavaScript,并让JavaScript做抛出?

Objective-C JSContext对象具有exception属性,可用于向JavaScript抛出exception。 根据头文件中的注释:

在从JavaScript到Objective-C块或方法进行callback之前,exception属性的先前值将被保留,属性将被设置为零。 callback完成后,将读取exception属性的新值,并恢复先前值。 如果exception的新值不为零,callback将导致该值被抛出。