gpt4 book ai didi

ios - 处理错误的表达

转载 作者:行者123 更新时间:2023-11-29 01:00:38 24 4
gpt4 key购买 nike

我正在检查这样的表达式:

predicateExpression = [NSPredicate predicateWithFormat:jsonExpression];

但是如果 jsonExpression 有问题,我会得到一个异常。处理这个问题的最佳方法是什么?目前有一个try/catch。有没有办法用 NSError 做到这一点?

最佳答案

Currently there is a try/catch. Is there a way to do this with NSError?

您可以向 NSPredicate 添加扩展,它复制现有方法并添加 NSError ** 参数。对于可变参数方法,这很棘手,但并非不可能,所以让我们使用 predicateWithFormat:

的变体之一
@interface NSPredicate (WithError)

+ (NSPredicate *) predicateWithFormat:(NSString *)format argumentArray:(nullable NSArray *)arguments error:(NSError **)error;

@end

这个方法的实现只需要调用self上的底层方法predicateWithFormat:argumentArray:try/catch 。在 catch 子句中,如果传递的 error 不是 nil 构造一个合适的 NSError 值(您可以包括原始值userInfo 字典中的异常),将其分配给 *error,并返回 nil 以指示失败。如果没有发生异常,则返回 NSPredicate 值。

您现在的方法不会抛出异常并在出错时返回 NSError 值。

HTH

关于ios - 处理错误的表达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37029611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com