Ich muss eine Exxception programmieren(Exception1 ), die eine andere Exception(Exception2) auslöst. Ich habe bei Java Doc nachgeguckt und im Internet auch.
Hier mein Code:
Java:
//Klasse ApublicvoidMethod1(int a)throwsException1{try{if(bedingung1){//Anweisung}else{thrownewException1("Exception1 wird geworfen!!");}}catch(Exception1 e){}}//hier muss ich Exception1 abfangen mit try catch Block, die soll Exception2 auslösen
Java:
//Klasse BpublicvoidMethod1()throwsException2,Exception1{if(){
klasseA.Method1();}else{thrownewException2("Exception2");}}// hier darf ich nicht abfangen, keine try catch Blöcke und soll abgeworfen werden!
Es ist völlig unklar, was genau deine Anforderungen sind. Versuch doch bitte nochmal ganz deutlich aufzuzeigen, was dein eigentliches Ziel ist.
Aber vorab schon mal: Solltest du wirklich Exceptions nutzen wollen, um den Program-Ablauf zu steuern, dann vergiss das direkt wieder! Exceptions sind dafür da, um Ausnahmen zu behandeln, deswegen heißen die Dinger ja auch so.
Ein Exception programmieren, die eine andere Exception auslöst. So nun will ich euere Ideen hören wie ihr das machen würdet. Ich will den Programm Ablauf nicht steuern!!
Ich weiss, dass ich mich völlig unklar ausgedrückt habe, es ist einfacher, wenn ich erstmal sage, was das Ziel ist nämlich nochmal eine Exeption programmieren, die eine andere Exception auslöst!
Und genau das ist es, was so einfach keinen Sinn ergibt. Was meinst du mit diesem Satz? Was soll es bedeuten, dass eine Exception eine andere Exception auslöst? Versuch das mal in 2-3 Satzen anders zu formulieren. Vielleicht wird es dann deutlich, was du meinst
Ok ich versuche das erstmal so zu erklären (Komme mir echt blöd vor):
Wenn beim Ausführen der Methode1 eine Exception(sagen wir die Exception heisst Exception1) geworfen wird, dann soll Exception1 Exception2 auslösen!
besser? xD
nun reichts echt mal. Es steht dir nicht zu, das auch zu beurteilen. Habt ihr nie über chained Exception gehört? OMG komme nie wieder in dieses Forum. Das ist ja echt übel. Was ist so schwer zu verstehen? Google chained Exception dann lies was da steht!
Auszug aus JAVADOC: the first exception causes the second exception PUNKT!
Was heißt cause: auslösen!! Bin davon ausgegangen, das ihr ENglish könnt oder zumindest cause. Ihr seid nur zeitverschwendung!
NM leute ich geh off hier stinkt es
Niemand will dich für blöd verkaufen. Aber mit einem konkreten Anwendungsfall gibt es vielleicht bessere Lösungsmöglichkeiten als Exceptions aufeinander aufzubauen.
Wenn du wirklich "chained Exception" verwenden willst, dann mach es ähnlich wie im Oracel Example dazu.
In method1 von Klasse B machst du um den aufruf von "Klasse1.method1()" ein try/catch.
Ohne try/catch wird das nicht wirklich funktionieren.
Laut Kommentar sollst du try/catch nicht verwenden, warum nicht? Oder geht es dir darum das automatisch wenn wo eine Exception1 gefangen wird (egal wo) eine Exception2 geworfen wird?
Doch, klar, Chained Exceptions sind ja auch sinnvoll, aber den Begriff hast du in diesem Post zum ersten Mal erwähnt. Vorher war das nur Gestammel und nonsense-Code.
Das ist übrigens auch nicht das selbe, wie das von dir ursprünglich
angefragte. Das ist nämlich überhaupt keine Eigenschaft der Exception selbst, sondern hier geht es einzig und allein um das Verhalten des Codes, welcher die ausgelöste Exception1 weiter verarbeitet. Und da schmeißt du dann einfach deine Exception2 und setzt die Exception1 als cause.