1
12
基本上,你不应该检查
从…起 the Apple documentation :
|
2
2
您问题的要点是,您是否可以对错误处理进行结构性改进。我这样认为,通过本质上引入更多的嵌套层,或者将更多代码提取到单独的方法/函数中,或者在高级示例方法中引入嵌套。
使用“传播或处理”的思想,我将重写您的示例方法,如下所示:
请注意,对于在特定方法中引入太多嵌套,有一些很好的论据。像这样的嵌套本质上是提取方法的一种短期替代方法。例如,“doSomething:”本身称为doSomethingElse:,它称为doyetsomethingles:,这可能更有意义。这将在代码上施加与if嵌套相同的结构,但可以说更易于维护。 另外,我不喜欢内联返回语句。在这个特定的实例中,sample方法实际上并不调用返回值,但是如果调用了,我更喜欢将局部变量设置为返回值,并且只在流控件的末尾返回。IMHO说,过早跳出函数或方法肯定会遇到奇怪的bug。 |
3
1
|
4
0
注: 当我发布这篇文章时,我并不知道有任何关于MacOS/Cocoa例外的争论。当你考虑这个答案时请记住这一点。 为什么不使用 exceptions 相反这将允许您在方法上省去error参数,并在一个地方处理错误。
当然,您需要根据需要从doXXXX方法中抛出异常:
|
Noah H · 如何通过终端或Swift禁用三指轻拍手势? 6 年前 |
Dmitry Serov · 货币数字格式-数字为整数时省略分数部分 6 年前 |
Duny · ObjC日期始终返回2017年12月25日 6 年前 |
Jan Kaiser · NSButton不调用其操作 6 年前 |