我有这个方法:
+ (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/