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