objective-c - NSException 引发 :format: as the last statement in a method

标签 objective-c exception nsexception

我有这个方法:

+ (MHTwitterParser*)createParser:(NSString*)format {
    if ([format compare:@"json"] == NSOrderedSame) {
        return [[MHJsonTwitterParser alloc] init];
    }

    [NSException raise:@"Unknown format" format:@"Unknown format of parser"];
}

编译器提示:

Control may reach end of non-void function

这只是一个警告,但没有关系。

明显的解决方法是在 [NSException raise: ... 之后添加例如 return nil;

但是,我认为不需要(甚至误导读者),因为抛出了异常,所以“Control may reach end of non-void function”是不正确的。或者我错过了什么......?仅仅是编译器不完善还是有一些重要的原因?

编译器是Apple LLVM compiler 3.1

最佳答案

[exception raise]; 替换为 @throw exception; 在功能上是相同的,并且会阻止警告(参见:Throwing Exceptions)。

关于objective-c - NSException 引发 :format: as the last statement in a method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400936/

相关文章:

objective-c - 在添加的 subview 上未调用drawRect

objective-c - 使用 NSDictionary 还是创建一个具有属性的类?

c# - 捕获所有(已处理或未处理的)异常

vb.net - 单例实例化时为 "Value can not be null"

Java 错误 : New exception is thrown in catch block, 原始堆栈跟踪可能丢失

ios - 如何正确处理 Swift 2.0 中的 NSFileHandle 异常?

转发数据时 Swift 有趣的 NSExceptionError

Xcode - 按下按钮时以 NSException 类型的未捕获异常终止

ios - 响应手指拖动更改 UIView 的高度

ios - Theos - 如何从不同的类调用实例方法