【发布时间】:2011-04-27 13:25:05
【问题描述】:
在使用 Objective-C 进行编程时,我偶尔会遇到一些方法抛出我没有预料到的异常。
事后看来,我可以理解为什么它会引发异常,并且通常,解决问题会导致更好的代码。
但是,提前知道哪些方法会抛出异常以及在什么情况下会很方便。
例如:
NSString *aString;
aString = @"Less than 42 characters.";
[aString substringToIndex:42];
会抛出异常,因为字符串包含少于 42 个字符。
还有这个:
NSString *aString = @"This is a string.";
NSString *bString = nil;
aString = [NSString stringByAppendingString:bString];
同样会崩溃,因为 bString 为 nil。
还有其他例子吗?
【问题讨论】:
-
不完全是骗子,但几乎是:stackoverflow.com/questions/4310560/… 具体来说:不要使用异常来指示除不可恢复的错误之外的任何内容(有关详细信息,请参阅 q/a -- 底线:不要使用异常来捕获范围错误)
标签: objective-c