如何处理NSException错误

时间:2017-08-31 13:57:41

标签: ios swift xcode

所以,我一直在制作一个基本的计算器。但我遇到了一个问题。 My code.

@IBAction func calculate(_ sender: UIButton) {
    let stringExpression = resultLabel.text!
    let expression = NSExpression(format: stringExpression)
    let result = expression.expressionValue(with: nil, context: nil) as! NSNumber
    resultLabel.text! = String(result.doubleValue) // Writes response on textLabel :D
}     

上面的代码有效。但是,当输入诸如5 ++ 6的输入时,它会崩溃我的应用程序。我不太清楚如何处理这件事。

输入无效输入时会显示以下错误。 The error given. libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

我不确定如何让它显示"错误"。 这适用于任何类型的错误。

1 个答案:

答案 0 :(得分:0)

必须将有效表达式传递给NSExpression初始化程序,否则会抛出异常。没有Swift-only方法来捕获异常,因此唯一的可能性是确保只能生成有效的输入。