Swift iOS编程 - 如何处理错误(即阻止应用程序崩溃/退出)

时间:2015-09-06 03:38:51

标签: ios swift error-handling crash

我正在构建一个使用名为DDMathParser的解析器的Calculator应用程序。它可以评估一个字符串,如" 2 + 3-1"并输出4作为答案。但是,如果我输入类似" 3 +++ 3"或" log5"而不是log(5),应用程序崩溃是预期的(错误消息就像"格式无效:等等等等......致命错误:在展开可选值时意外发现nil。"我是想知道是否有办法处理这类错误以防止应用程序崩溃?我的意思是如果用户输入" 3 ++++ 3",应用程序将在textview框中输出错误消息或者没有,只要它不会使应用程序崩溃...... 提前谢谢!

编辑: 代码是" str.numberByEvaluatingString()。doubleValue"其中str是一个字符串,如" 3+(2-4)"或" ln(3)" etc ...和numberByEvaluatingString()是来自DDMathParser的函数。如果我输入正确的格式(即3 + 2,ln(5)),它将给我正确的结果,但是,如果我输入一些字符串,如3 +++ 3,或ln5没有括号,它将崩溃。 ..

1 个答案:

答案 0 :(得分:0)

尝试

if let num = str.numberByEvaluatingString() {
    let value = num.doubleValue
} else {
    // Handle error here
}