Przeprosiny za takie pytanie dla początkujących.ObjC: Obsługa błędów ... co zwrócić
Napisałem metodę klasy, która pobiera trzy ciągi i zwraca podciąg.
Mam zapisane instrukcje warunkowe, które zezwalają tylko na zwracanie podciągu, jeśli spełnione są określone kryteria. Jednak nie jestem pewien, co muszę zwrócić, jeśli podciągu nie można wyodrębnić. W tej chwili mam metodę zwracającą domyślny ciąg znaków "błąd", ale mam wrażenie, że może to nie być najlepsza praktyka.
Oto moja metoda:
+(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
}
Jak mogę uczynić ten sposób bardziej przyjazny błąd?
+1 do ostrzegania przed wyjątkami. –
Dokumentacja Apple wyraźnie określa, kiedy należy korzystać z każdej z nich. "Programowanie z Objective-C: Radzenie sobie z błędami" ma całą sekcję zatytułowaną "Wyjątki dotyczą błędów programistycznych". Po to są. – quellish