Joh*_*her 9 oop error-handling cocoa objective-c
我正在编写各种例程,我正在尽力保持整洁和重构.
我正在创建的方法开始看起来与此代码类似:
-(IBAction)buttonPress:(id)sender {
// Create Document Shopping List with this document
[self doSomething:&error];
if(error) {
[NSApp presentError:&error];
return nil;
}
[self doSomethingElse:&error];
if(error) {
[NSApp presentError:&error];
return nil;
}
[self doYetSomethingElse:&error];
if(error) {
[NSApp presentError:&error];
return nil;
}
}
Run Code Online (Sandbox Code Playgroud)
我喜欢NSError,但这似乎是处理我所有错误的非常笨拙的方式.
我对替代方法的一些想法:
a)错误检查可以内置到doSomething,doSomethingElse等方法中,但是如果不对返回值进行某种检查,我将无法退出按钮按下方法,这会导致我回到类似的结构.
b)我可以将NSError设置为观察到的键值,但是关于这一点的东西感觉非常错误.我非常清楚KVO滥用的可能性,所以我试图在没有它的情况下做任何事情.
当然我错过了一些非常基本的东西吗?有没有一种模式可以帮助我?或者这个结构好吗?