gpt4 book ai didi

objective-c - ObjC : Error handling. ..返回什么

转载 作者:太空狗 更新时间:2023-10-30 03:51:15 25 4
gpt4 key购买 nike

对于这样的新手问题表示歉意。

我写了一个类方法,它接受三个字符串并返回一个子字符串。

我编写了条件语句,仅在满足特定条件时才允许返回子字符串。但是,如果无法提取子字符串,我不确定我需要返回什么。目前我有返回默认“错误”字符串的方法,但我觉得这可能不是最佳实践。

这是我的方法:

+(NSString *)ExtractSubstringFrom:(NSString *)sourceString 
Between:(NSString *)firstString And:(NSString *)secondString {


NSRange stringRangeOne = [sourceString rangeOfString:secondString];
NSString *resultString;

if (stringRangeOne.location != NSNotFound) {
resultString = [sourceString substringToIndex:stringRangeOne.location];
}

NSRange stringRangeTwo = [sourceString rangeOfString:firstString];

if (stringRangeTwo.location !=NSNotFound) {
resultString = [resultString substringFromIndex:stringRangeTwo.location+stringRangeTwo.length];
return resultString;
}

else return @"Error!";

//To do... improve error checking

}

如何让这个方法更容易出错?

最佳答案

在 Objective C 中有几种处理此类错误的方法:

  • 返回默认值 - 通常,默认值为 nil。由于 Objective C 允许对 nil 对象进行操作,因此相对安全。
  • 生成 NSError 对象 - 这是最终用户可以解决的更典型的错误,例如连接和配置问题。不幸的是,这种 API 的副作用是需要设置和传递额外的参数。
  • 使用断言 - 这是处理“编程错误”的好方法,即当您的程序的参数超出指定范围时。
  • 抛出异常 - 此选项在语言中可用,但 Apple 强烈反对使用它。我在这里提到它是为了完整性,尽管我自己从未使用过此选项。

关于objective-c - ObjC : Error handling. ..返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15603951/

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