首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DDMathParser中使用错误处理

在DDMathParser中使用错误处理
EN

Stack Overflow用户
提问于 2015-10-09 08:29:39
回答 1查看 115关注 0票数 1

我在我的项目中使用DDMathParser库,我想使用错误处理。如果用户输入了错误的表达式,我希望将错误显示给他。什么是我的catch块来检测和显示相关的错误及其位置。以下是我的示例代码:

代码语言:javascript
复制
do{
   var X = "(3 + 4" //Missed Closed Parenthesis
   let evaluator = Evaluator()
   let expression = try Expression(string: X)
   let value = try evaluator.evaluate(expression)
}
catch
{

}

根据DDMathParser,它应该是分组错误,通过使用范围,它应该指定其位置,圆括号被遗漏或任何其他错误类型发生。这是它的文档

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-09 11:19:47

您必须将错误转换为GroupedTokenError才能访问特定的DDMathParser错误消息。

代码语言:javascript
复制
do {
    let X = "(3 + 4"
    let evaluator = Evaluator()
    let expression = try Expression(string: X)
    let value = try evaluator.evaluate(expression)
} catch let error as GroupedTokenError {
    print(error._code)  // 1
    print(error.kind)  // MissingCloseParenthesis
    print(error.range)  // 6..<6
} catch let error as NSError {
    print(error.debugDescription)
}

注意,您还必须为非DDMathParser错误添加一个泛型错误捕获块(在我的示例中,泛型ErrorType将桥接到NSError,以Cocoa方式显示内容)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33033488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档