Ich habe diesen Java-Code, den ich ausführen möchte. Es sollte eine Ausnahme auslösen, wenn es mehr als 4 Strings vollständig hinzugefügt wurde, aber es sollte nicht benötigt werden, um ein try/catch zu verwenden, wenn die addString-Methode das erste Mal aufgerufen wird.Throw Ausnahmen ohne zu versuchen in Java zu verwenden
Foo myFoo = new Foo();
myFoo.addString("String A");
myFoo.addString("String B");
myFoo.addString("String C");
myFoo.addString("String D");
boolean exceptionThrown = false;
try {
myFoo.addString("String E");
} catch (NoRoomForMoreStringsException e) {
exceptionThrown = true;
}
assertTrue(exceptionThrown);
Wenn ich so etwas wie dies in der addString Funktion hinzufügen, wird es mir verlangen, immer eine trow/catch-Anweisung zu verwenden.
public void addString(String str) throws NoRoomForMoreStringsException {
...
if(strings.size() >= 4) {
throw new NoRoomForMoreStringsException();
}
Wie kann ich eine Ausnahme in der addString-Methode auslösen, ohne immer die try/catch-Anweisung verwenden zu müssen?
Warum ruft nicht nur setzen alle Verfahren in einem einzigen Versuch Haken? – cYrixmorten
Oder wenn Sie die Ausnahmebehandlung nicht mögen, geben Sie einen booleschen Wert zurück, der angibt, ob die Aktion erfolgreich war oder nicht. – cYrixmorten
Wenn Sie es nicht zu einer 'RuntimeException' machen wollen, macht Ihre Frage keinen Sinn. Wenn Sie wissen, welcher Aufruf die Ausnahme auslöst, brauchen Sie die Ausnahme nicht, und wenn Sie nicht wissen, wissen Sie nicht, wo Sie den try-catch weglassen können. – EJP