Catching NSInvalidArgumentException from NSExpression

后端 未结 2 483
南旧
南旧 2021-01-22 15:21

In my code I am evaluating strings as mathematical expressions for example:

NSString *formula=@\"9*7\";
NSExpression *expr =[NSExpression expressionWithFormat:fo         


        
相关标签:
2条回答
  • 2021-01-22 16:07

    The reason this exception is not caught with your current code is that the exception is being thrown from this line:

    NSExpression *expr =[NSExpression expressionWithFormat:formula];
    

    You need to move this line into the @try block.

    0 讨论(0)
  • 2021-01-22 16:15

    What you need is a maths parser. NSExpression was designed to take well-formed input, and doesn't handle errors. A quick Google will give this.

    0 讨论(0)
提交回复
热议问题