Objective-C NSError 和 Java 错误

Posted

技术标签:

【中文标题】Objective-C NSError 和 Java 错误【英文标题】:Objective-C NSError and Java Error 【发布时间】:2011-09-03 06:29:15 【问题描述】:

我需要一些关于 Obj-C 中 NSError 的信息,以及 Java 中是否有类似的信息。我找到了这个类: Java Error,但我不确定它是否相同。我可以使用它吗例如在 Obj-C 中作为方法参数:

Obj-C:- (BOOL)synchronizeInternal:(NSError **)error

Java : public boolean synchronizeInternal(Error err)

有什么建议吗?

【问题讨论】:

【参考方案1】:

这根本不是一回事。 Java Error 类是可抛出的(即类似于异常),但保留用于指示 JVM 代码存在问题的严重错误。

我认为如果你想要类似 NSError 的东西,你必须创建自己的类。 NSError 只是一个容器,其中包含有关正常错误条件的一些信息,例如您无法读取用户要求您打开的文件。 NSError 所做的事情可能最好用 Java 中的检查异常来完成。

【讨论】:

一个 NSError 有一个代码、域和一个用户信息字典。您可以轻松地创建具有相似字段的 Java 异常的子类。

以上是关于Objective-C NSError 和 Java 错误的主要内容,如果未能解决你的问题,请参考以下文章

强制返回 `id` 和 inout NSError 的 Objective-C 方法桥接到可选返回

我可以在 Objective-C 的 init 中包含 NSError** 作为参数吗?

Objective-C 在自定义方法中将 NSError 指针传递给 NSFileManager

Objective-C 中错误(NSError)构造的解释(使用未声明的标识符“错误”)

如何将 NSError.code 与 Swift 5 中的#defined 错误号进行比较

Objective-C:断言 vs. 异常 vs. 错误