@throw NSException与NSException raise的区别

7

@throw NSExceptionNSException raise有什么区别? 我想知道我应该使用哪个(有一个适当的使用情况)以及为什么?

1个回答

7
从苹果文档中可以了解到,@throw 和 raise 的一个重要区别在于后者只能发送给 NSException 对象,而 @throw 可以将其他类型的对象作为其参数(例如字符串对象)。Cocoa 应用程序应该只 @throw NSException 对象。通常情况下,在异常处理域中抛出或引发异常,这是由 @try 编译器指令标记的一段代码块。有关详细信息,请参见“处理异常”。在异常处理域内,您可以通过向 NSException 对象发送另一个 raise 消息或使用它与另一个 @throw 指令来将本地异常处理程序捕获的异常重新传播到更高级别的处理程序。如需进一步了解,可以参考文档

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接