将异常从 Objective-C 引发回 Javascript

2024-04-20

JavascriptCore 允许我们通过 JSExport 协议将 Objective-C 类公开给 javascript。比方说,在公开的 Objective-C 类的方法之一中,遇到了需要引发异常的情况。有没有办法创建所述异常并引发它,以便 javascript 代码可以像处理常规 javascript 异常一样处理它?

我尝试做一个普通的老[NSException raise...]这立即导致了一场车祸。

我是否只能检测引发条件,将该条件传递回 javascript,然后让 javascript 进行抛出?


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

在从 JavaScript 回调到 Objective-C 块之前或 方法,异常属性的先前值将被保留 并且该属性将被设置为零。回调完成后 将读取异常属性的新值和先前的值 恢复了。如果异常的新值不为零,则回调将 导致该值被抛出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将异常从 Objective-C 引发回 Javascript 的相关文章

  • 如何获取C#中的异常错误代码

    try object result processClass InvokeMethod Create methodArgs catch Exception e Here I was hoping to get an error code 当
  • Spring - 捕获bean创建异常

    我想在我的代码中捕获 bean 实例化异常 我有什么选择 一种方法是使用基于 Java 的容器配置 Configuration public class AppConfig Bean public SomeBean someBean try
  • iOS 6 和 Xcode 5.0 的图标光泽度

    在使用 iOS6 和 XCode 5 时 我真的很困惑如何去除图标的光泽 我已经阅读了这些问题 去除 iOS 4 3 中图标的光泽效果 https stackoverflow com questions 8740387 removing g
  • 如何在iPhone真机上打开数据库sqlite文件?

    我正在通过电缆在我的真实设备中调试应用程序 我有一部 iPhone 6 我想检查我的数据库并使用 sqlite3 操作来查询我的结果 其他问题和教程解释了只能在模拟器中执行此操作 但我使用的是真正的 iPhone 在AppDelegate中
  • “没有 firebaseUI 这样的模块”

    import FirebaseUI 当我导入此模块时 它显示 No such Module as FirebaseUI 但我已经安装了 pod pod Firebase Core pod FirebaseUI pod FirebaseUI
  • Xcode 项目/应用程序名称带有空格问题 - 找不到框架

    Xcode 6 1 是否可能因为我的 3 个单词应用程序名称而找不到我之前导入的框架 我正在使用 Parse 从来没有遇到过任何问题 但实际上 当我在 Xcode 中打开我的项目时 我收到一个错误 提示框架未找到 这是荒谬的 因为它之前运行
  • Xcode:将信息从 UITableViewController 传递到 UIViewController

    我有一个 UIViewController 它应该根据 UITableViewController 中按下的单元格向我显示详细信息 目前我正在给他们讲一个续集 override func prepare for segue UIStoryb
  • Swift:如何获取从字符的开始到最后一个索引的子字符串

    我想学习将一个字符串转换为另一个字符串的最佳 最简单方法 但只有一个子集 从开头开始一直到字符的最后一个索引 例如 将 www stackoverflow com 转换为 www stackoverflow 什么样的代码片段可以做到这一点
  • iOS:无法让蓝牙管理器工作

    警告 我知道私有框架不会在 App Store 中流行 我尝试使用 BluetoothManager 框架来让我 1 检查设备上是否启用了蓝牙 2 如果未启用 则将其打开 我可以按照找到的说明成功加载蓝牙管理器here https stac
  • 如何在 swift 3 中将毫秒转换为日期字符串[重复]

    这个问题在这里已经有答案了 我正在尝试在 swift 3 中将毫秒转换为日期字符串 我尝试设置日期格式 但我没有获取当前日期字符串 var milliseconds 1477593000000 let date NSDate timeInt
  • 谷歌分析实时不工作

    我正在使用这段代码来使用Google Analytics为了获取实时信息和应用程序评论 代码位于 AppDelegate 中 GAI sharedInstance trackUncaughtExceptions YES GAI shared
  • 处理 UIPageControl 有太多点而无法全部显示在屏幕上的最佳方法是什么

    我的应用程序中有一个 UIPageControl 大约有 10 个页面 点 看起来非常完美 但是用户可以添加许多不同的视图 因此点的数量可能会变成 30 个 发生这种情况时 点就会从屏幕边缘消失 并且您始终无法看到当前选定的页面 这一切看起
  • iOS:如何创建并绘制(并保存)大于屏幕的图像?

    我们正在创建一个 iOS 照片应用程序 为此 我们必须创建动态大小的图像 最大约为 2500x1600 像素 创建此图像后 我们希望以相当快的速度在大图像之上绘制较小的图像 正如我们所看到的 问题在于不可能获得大于屏幕分辨率的上下文 该调用
  • Phonegap html5视频无法播放

    我正在尝试在 iPad 上的phonegap 应用程序中播放视频 该视频给了我错误 MEDIA ERR SRC NOT SUPPORTED 我尝试播放的视频不是本地的 当我在该视频上使用curl I 时 这是它带来的信息 HTTP 1 1
  • 检查与 NSURLConnection 连接的有效 IP

    我目前有一个应用程序 它尝试根据我正在与之通信的某些服务器打开网络视图 但是 我允许用户输入自己的服务器 IP 以防 iphone ipad 和服务器 或其他设备 不在同一网络上 但是 我尝试使用 NSURLConnection 来检测是否
  • 原生编程对于移动开发有何优势?

    我需要为一家公司在一些主要的移动操作系统上开发应用程序 特别是 iOS Android 和 WP7 我最初计划为三种不同的操作系统编写三个独立的应用程序 每个应用程序都使用本机 SDK 然而 这样做有什么好处吗 有许多可用的跨平台工具 Se
  • 为 MoonAPNS 创建 p12 文件时卡住了

    我在创建 p12 证书时遇到一些问题 我之前创建了一个带有推送通知的应用程序 效果很好 应用程序获取用户设备 ID 并将其保存到数据库中 我已将代码添加到我的新应用程序中 并进行了与新应用程序一起使用的修改 从日志来看 它的工作方式似乎与我
  • 在 C++ 中重用异常处理代码

    我有这两个函数 具有重复的异常处理 其唯一目的是显示错误消息 void func1 noexcept try do task do another task catch const std out of range e show msg O
  • 为什么我无法更改 AU 多通道混音器输入范围中的元件/总线数量?

    UPDATE 我正在更改我的代码以更简化的方式说明问题 我还有一个小错误 虽然没有阻止问题的发生 但确实增加了一些混乱 我正在 iOS 中实例化多通道混音器 AU kAudioUnitSubType MultiChannelMixer 并执
  • 如何使用 GPUImageHarrisCornerDetectionFilter 获取角点

    我正在尝试使用以下方法从静态图像中获取角点GPUImageHarrisCornerDetectionFilter 我查看了项目中的示例代码 查看了文档 还查看了这篇文章 内容大致相同 GPUImage 现有 UIImage 上的 Harri

随机推荐