iphone:尝试结束尝试

时间:2010-07-31 15:20:31

标签: iphone objective-c

在Objective-C中是否有任何方式可以查看是否可以执行某项任务而不会使应用程序崩溃?

javascript等其他语言

try
  {
  //Run some code here
  }
catch(err)
  {
  //Handle errors here
  }

Objective-C中有什么东西吗? 如果是这样,语法是什么?

感谢。

3 个答案:

答案 0 :(得分:18)

虽然菲利克斯的答案在技术上是正确的,但并不是全部。

在iOS和Mac OS X上,异常用于指示不可恢复的程序错误。异常不用于表示用户错误或可恢复的错误,例如Java。

任何通过系统框架代码的异常都会使所述框架处于未定义状态。。捕获所述异常并尝试从中恢复将导致内存泄漏,未定义的行为和崩溃。

答案 1 :(得分:4)

查看Exception Handling

Cup *cup = [[Cup alloc] init];

@try {
    [cup fill];
}
@catch (NSException *exception) {
    NSLog(@"main: Caught %@: %@", [exception name], [exception reason]);
}
@finally {
    [cup release];
}

另外值得一看:Error Handling Programming Guide

答案 2 :(得分:0)

真正的问题是,你在错误捕获块中想要做什么?

有不同的方法来处理不同类型的错误。具体到哪种代码你想在这样的块中包装?