@throw NSException
和 和有什么不一样NSException raise
?我想知道我应该使用哪一个(有一个适当的用例可以使用),为什么?
问问题
3312 次
1 回答
7
来自 Apple 文档,
@throw
and之间的一个重要区别raise
是后者只能发送到 anNSException object
while@throw
可以将其他类型的对象作为其参数(例如字符串对象)。Cocoa 应用程序应该只 @throwNSException objects
。通常,您在异常处理域内抛出或引发异常,该域是由@try 编译器指令标记的代码块。
有关详细信息,请参阅“<a href="https://developer.apple.com/library/ios/documentation/cocoa/conceptual/Exceptions/Tasks/RaisingExceptions.html" rel="nofollow noreferrer">处理异常”。
在异常处理域中,您可以通过向 NSException 对象发送另一个引发消息或将其与另一个 @throw 指令一起使用,将本地异常处理程序捕获的异常重新传播到更高级别的处理程序。
有关更多详细信息,您可以参考文档。
于 2014-02-14T09:30:14.633 回答