Also ein sehr lustiger Thread .. da darf ich natürlich nicht fehlen (
@volcanos Ich bin hier im forum der offizielle Clown Frühstücker!)
(Und der Inhalt ist ernst gemeint, auch wenn ich ihn ggf. lustig verpacke!)
1. catch (Exception e)
Wenn Du Dein Auto immer komplett mit Schaumstoff füllst (So dass du Dich als Fahrer nicht mehr richtig bewegen kannst, Du nichts mehr siehst u.s.w.), dann wird man das als Unsinn ansehen.
Aber ja - es hat durchaus seine Berechtigung, wen man das Auto im Anschluss sehr hoch hebt und dann einfach mit dem Motor vorne auf einen Betonboden fallen lässt.
Aber du wirst da auch einsehen: Evtl. will man sowas gar nicht machen. Statt das Auto mit Schaumstoff auszukleiden könnte man z.B. gar nicht erst einsteigen, den Haken vom Kran vorher lösen oder oder oder ...
Generell vermeidet man so Unfälle aber einfach anstatt sich unnötig davor abzusichern.
Also nein: Die gibt keinen Grund dafür, hier so eine Exception abzufangen. Bei Benutzereingaben ist es in der Regel so, dass man dann einfach die Eingabe prüft. Sprich: Ist in der Eingabe etwas enthalten? Wenn nicht, dann gebe ich eine entsprechende Meldung aus.
Wenn ein Problem aber auftreten kann und man dies nicht durch prüfen vermeiden kann: Dann fängt man genau dieses eine Problem. Und dann wird das auch direkt da behandeln, wo es auftritt.
Also in kurz: ein catch (Exception e) ist generell eine schlechte Sache und sollte nie gemacht werden. Also raus nehmen! Und dann schauen, was wo als Fehler kommt! Ich vermute, es ist der substring Aufruf bei leerem String / null String. Und dann kann man durch ein if prüfen.
Und Du willst Java lernen -> Dann lass sowas und lerne es richtig! oder wie viele Autos hast Du (mit Schaumstofffüllung des ganzen Innenraumes) kaputt gefahren?
2. Du bist vermutlich ganz am Anfang. Daher der ganz wichtige Tipp: Sieh zu, dass Du Methoden zu schreiben lernst! Diese ganze Herumgehampel (Nicht böse gemeint - das ist etwas ganz normales wenn man Java lernt und ist hier ohne Wertung zu verstehen!) ist einfach schlimm. Erfahrene Software Entwickler schreiben (in der Regel - Ausnahmen gibt es viele) immer kleine, kurze Methoden, denn diese sind übersichtlich, leicht zu verstehen und deutlich weniger Fehleranfällig. Als Anfäger sind das Dinge, die noch viel wichtiger sind, denn Du wirst ja noch deutlich mehr Probleme haben, die Methoden zu überblicken.
Wie sieht es denn in der Realität aus?
Mama: "Geh in die Kammer und hol eine neue Packung Nudeln!"
Du: Du gehst in die Kammer. Schaust durch die Regale. Wenn Du eine Tüte Nudeln findest, nimmst Du diese und gehst sofort raus. Und wenn Du alle Regale abgesucht hast und keine Nudeln finden konntest, dann sagst Du: Keine Nudeln mehr da!
Und genau das macht man dann in der Praxis auch. Wenn Du eine Methode für das Suchen der Person schreibst, dann hast Du genau dieses Vorgehen:
- Für jede Person:
--> Ist es die gesuchte Person? Gib die Person zurück
- Nach der Schleife: Return keine Person gefunden.
Keine Hilfsvariable und so. Code ist kurz und einfach. Und Du kannst es immer wieder verwenden.
Das einfach einmal von meiner Seite als Erläuterung und als Vorschlag für die Zukunft, das Dir das Leben erleichtern sollte.