Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Swift从NSExpression处理NSInvalidArgumentException异常_Ios_Swift - Fatal编程技术网

Ios 使用Swift从NSExpression处理NSInvalidArgumentException异常

Ios 使用Swift从NSExpression处理NSInvalidArgumentException异常,ios,swift,Ios,Swift,我使用N表达式来解数学公式。如果输入公式正确,则一切正常,但如果我输入以下公式: 6- 我的应用程序被终止,并显示以下错误消息: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "6- == 1"' 在Object-C中,可以将此代码放入@try块中。斯威夫特有什么相同的东西吗?或者我如何处理这些异常 以

我使用N表达式来解数学公式。如果输入公式正确,则一切正常,但如果我输入以下公式:

6-
我的应用程序被终止,并显示以下错误消息:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "6- == 1"'
在Object-C中,可以将此代码放入@try块中。斯威夫特有什么相同的东西吗?或者我如何处理这些异常

以下是我的简单NSExpression代码:

let expression = NSExpression(format: finalFormula)

if let result = expression.expressionValueWithObject(nil, context: nil) as? NSNumber {
    return result
}

我的解决方案是先检查输入,但如果我得到nil或类似的结果,我就可以了。

这里的问题相同:。在Swift中似乎无法捕捉到表达式中的语法错误。因此,看起来我必须首先验证输入值?@patrickS除了自己手动验证输入之外,您是否找到了正确的解决方案?