|
|
1
532
我用
|
|
|
2
258
这里有一句警告的话。在Objective-C中,与许多类似的语言不同,您通常应该避免在正常操作中可能发生的常见错误情况下使用异常。 Apple's documentation for Obj-C 2.0 |
|
|
3
62
Xcode识别
而且
|
|
|
4
33
|
|
|
5
15
我认为为了保持一致,最好在扩展NSException的类中使用@throw。然后对try-catch-finally使用相同的符号:
苹果在这里解释了如何抛出和处理异常: Catching Exceptions Throwing Exceptions |
|
|
6
14
无论如何,断言(使用NSAssert和NSCASERT宏系列)抛出NSException,因此可以将它们用作Ries状态。 |
|
|
7
8
|
|
|
8
8
这是我从“大书呆子牧场指南(第四版)”中学到的:
|
|
|
9
6
可以使用两种方法在try-catch块中引发异常
还是第二种方法
|
|
|
10
3
我相信您永远不应该使用异常来控制正常的程序流。但是当某个值与所需值不匹配时,应该抛出异常。
里斯 |
|
|
11
0
|
|
|
12
0
案例的示例代码:@throw([NSException Exception Exception WithName:。。。
}
另一个更高级的用例:
} |
|
|
13
-7
此外,有人认为目标C本身太贵,而C或C++中的代码则相反。所以说总是使用N错误是不明智和偏执的。
我在这里使用的选中/未选中规则与上面的略有不同。 检查/取消检查(此处使用java比喻)之间的真正区别很重要-->是否可以从异常中恢复。我所说的恢复不仅仅是指不崩溃。 因此,我将自定义异常类与@throw一起用于可恢复异常,因为 我可能会有一些应用程序方法来查找多个应用程序中的某些类型的故障 “提款请求超出余额例外”。 我对运行时异常使用NSException:raise,因为我无法从异常中恢复, 无论如何,这就是我所做的,但如果有更好的,类似的表达方式,我也想知道。在我自己的代码中,因为我很久以前就停止编写C代码了,所以即使API向我传递了一个N错误,我也不会返回N错误。 |
|
|
KanKonga · 为什么这个swift代码没有显示在文本字段中? 3 年前 |
|
|
Community wiki · 目标的Xcode构建阶段的自动更新? 3 年前 |
|
|
Anton Timonin · 如何正确地将动态pod库更改为静态? 3 年前 |
|
|
Igor · 在OSX中,捆绑包的用户首选项在哪里? 3 年前 |
|
|
narner · 从Swift包创建Cocoapods框架 3 年前 |