@@Regina Schaukrug
Besser ist es, mitzudenken und Code robust zu entwickeln, so dass er die Vorgabe erfüllt – und auch geringfügige Abweichungen davon gleich mit.
Der Code ist "robust". Denn er stürzt, falls der Ressourcenname der vom TO gezeigten Form nicht genügt, nicht etwa ab, sondern liefert (TS hats gezeigt) schlicht einen leeren String.
Mit „robust“ meine ich: liefert das erwartete Ergebnis.
Klar. Nur muss erst mal definiert sein, was wann erwartet wird. Die bisherige Definition ist: Eingangwert ist String mit dem Namen einer Datei, mit Pfad und genau einer Endung. Geliefert werden soll der Name der Datei ohne den Pfad und ohne die Endung.
Ohne irgendwelche Definitionen können wir eine erdengroße, auf Quantentechnik laufende KI-Maschine hinstellen, die superrobust ist, und 237*10^15 Jahre nach der Eingabe völlig zufälliger oder absurder Werte ein Ergebnis liefert ohne dass noch jemand den Input kennt.
Mit Definion hat man nach Bruchteilen von Millisekunden entweder das Ergebnis oder einen Hinweis darauf, dass der Input "Garbage" war. In Falle des gezeigten Codes besteht der Hinweis eben aus einen leeren String. Das ist nicht der einzige Code, der so funktioniert, auch viele der angepriesenen, gut getesteten Funktionen funktionieren genau so.