哪一个是最受欢迎的目标C异常处理? NSError指针,它为指针提供消息详细信息,或者@throws强制调用者处理异常并显示一些优雅的消息。感谢。
和alos请告诉我哪一个内存有效。
答案 0 :(得分:1)
与Java不同,在Objective-C中,异常仅用于处理不可恢复的状态。这意味着,例如,您没有捕获 EXC_BAD_ACCESS ,而是调试应用程序并更正问题。
Java异常的Objective-C等价物是 NEError 和空指针模式。例如,如果格式化程序无法将字符串格式化为数字,因为该字符串不表示数字,则返回 nil 。还有一种方法可以格式化带有 NSError 双指针的数字,以返回错误描述。
因此,为了处理错误,您通常会实现这样的方法:
- (id) object : (out NSError**) error
{
BOOL ok= ...
if(!ok)
{
if(error)
*error= ...
return nil;
}
return someObject;
}