【发布时间】:2013-07-26 03:57:41
【问题描述】:
我了解@try 和@catch 块的作用,但@throw 是做什么的?
@try{
/**Insert code here**/
}
@catch(NSException * myException){
/**insert code **/
}
@throw 适合这一切吗?一个简单的例子会很有帮助。
我查看了此链接,但找不到我正在寻找的答案。
【问题讨论】:
-
扔东西让你能抓住它
-
所以为了抓住它, throw 总是在 @try 块内吗?只能抛出异常吗?
-
您只能抛出异常,但如果您需要更多信息,您可以定义自己的扩展
NSException的类。 try 块定义了一个代码块,您可以在其中预测要抛出的异常。如果 try 块中的任何代码抛出异常,它将被相应的 catch 块捕获。如果某个不在 try 块内的代码抛出异常(或者没有捕获异常的 catch),那么您就有一个“未处理的异常”。 -
坦率地说:异常应该只用于不可恢复的错误。你不应该尝试在@catch中恢复和继续。
-
OP - 如果您找到了问题的解决方案,请务必将相应的答案标记为正确。
标签: objective-c