google-objc-avoid-throwing-exception¶
查找 Objective-C 文件中使用抛出异常的情况。
出于与 Google C++ 风格指南相同的原因,我们不建议在 Objective-C 代码中抛出异常。
相应的 C++ 风格指南规则:https://google.github.io/styleguide/cppguide.html#Exceptions
相反,建议传递 NSError **
并返回 BOOL
来指示成功或失败。
反例
- (void)readFile {
if ([self isError]) {
@throw [NSException exceptionWithName:...];
}
}
相反,建议通过 NSError **
返回错误
- (BOOL)readFileWithError:(NSError **)error {
if ([self isError]) {
*error = [NSError errorWithDomain:...];
return NO;
}
return YES;
}
相应的风格指南规则:https://google.github.io/styleguide/objcguide.html#avoid-throwing-exceptions