Entschuldigung für solch eine neue Frage.ObjC: Fehlerbehandlung ... was zurückgegeben werden soll
Ich habe eine Klassenmethode geschrieben, die drei Zeichenfolgen verwendet und eine Teilzeichenfolge zurückgibt.
Ich habe bedingte Anweisungen geschrieben, die nur die Teilzeichenfolge zurückgeben, wenn bestimmte Kriterien erfüllt sind. Ich bin mir jedoch nicht sicher, was ich zurückgeben muss, wenn der Teilstring nicht extrahiert werden kann. Im Moment habe ich die Methode eine Standard-Fehler-Zeichenfolge zurückgeben, aber ich habe das Gefühl, dass dies nicht Best Practice sein kann.
Hier ist meine Methode:
+(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
}
Wie kann ich diese Methode mehr Fehler freundlicher zu machen?
+1 für gegen Ausnahmen zu warnen. –
Apples Dokumentation ist ziemlich explizit darüber, wann sie zu verwenden sind. "Programmieren mit Objective-C: Umgang mit Fehlern" hat einen ganzen Abschnitt mit dem Titel "Ausnahmen sind für Programmierfehler". Dafür sind sie da. – quellish