我想使用try catch检查UITextField
是String
或数字。
但它似乎不起作用。这是我的代码:
- (IBAction)add {
@try {
double firstNumber = self.firstNumber.text.doubleValue;
double secondNumber = self.secondNumber.text.doubleValue;
Calculator *calcu = [[Calculator alloc] initWithFirstNumber:firstNumber andSecondNumber:secondNumber andOperation:@"+"];
self.result.text = calcu.calculateTwoNumber;
}
@catch (NSException *exception) {
self.result.text = @"Please enter right number!";
}
@finally {
}
}
答案 0 :(得分:4)
ClausBönnhoff在评论中写道的内容怎么强调都不过分:Objective-C 不是 Java或C#。
在Obj-C中使用异常的可接受方法是不可恢复的错误,而不是简单的流控制。
然后,您的问题的答案是应该很少使用例外。在iOS开发的几年中,我没有一次使用它们。我也没有在其他任何人的代码中遇到它们。
但是,我遇到了Obj-C运行时引发的异常,我想这可以说明它们的作用可能是什么。答案 1 :(得分:4)
关注代码:
@try {
self.labelName.text=[arrName ObjectAtIndex:indexPath.row];
}
@catch (NSException *exception) {
NSLog(@"Something missing...");
}
@finally {
}