7
@throw NSException
和NSException raise
有什么区别?我想知道哪一个我应该使用(有一个正确的用例来使用它),为什么?@throw NSException vs NSException raise
@throw NSException
和NSException raise
有什么区别?我想知道哪一个我应该使用(有一个正确的用例来使用它),为什么?@throw NSException vs NSException raise
从苹果文档,
@throw
和raise
之间的一个重要区别是,后者可以仅被发送到一个NSException object
而@throw
可以采取其他类型的对象作为其参数(例如字符串对象)。可可应用程序应该@throw只有NSException objects
。通常,您会在异常处理域内引发或引发异常,该异常处理域是由@try编译器指令标记的代码块。
有关详细信息,请参阅“Handling Exceptions”。
在异常处理域中,您可以将本地异常处理程序捕获的异常重新传播给更高级别的处理程序,可以通过向NSException对象发送另一个引发消息或通过将其与另一个@throw指令一起使用。
有关更多详细信息,请参阅documentation。