Auf "throws" verzichten!

Status
Nicht offen für weitere Antworten.

Tominator

Mitglied
Hi!
ich bin dabei eine hsql datenbank in java zu benutzen... allerdings muss ich bis jetzt in jeder Methode "throws SQLException" dzuschreiben.... Das ist bei nem komplexen Programm aber sehr hinderlich, vorallen, weil das ja auch weitergereicht wird zu den methoden, in denen nur eine Methode aufgerufen wird, die SQLExceptions enthält...

Jetzt ist meine Frage, wie ich auf das "throw" verzichten kann... oder geht das garnicht?

ToMiNaToR
 

meez

Top Contributor
Du kannst es ja lokal "catchen"

Code:
public void methode() {
try {
 ... code...
}  catch (SQLException e) {}
}
 

Tominator

Mitglied
meez hat gesagt.:
Du kannst es ja lokal "catchen"

Code:
public void methode() {
try {
 ... code...
}  catch (SQLException e) {}
}

Gehen tut es, aber es ist doch sehr codeintensiv!?
geht das nicht nor irgendwie anders???

ToMiNaToR
 

Bleiglanz

Gesperrter Benutzer
Was soll denn passieren, wenn jemand seinen Kaffee in den Datenbankserver schüttet und also die Methode an der Stelle die Exception wirft?
 

Tominator

Mitglied
Bleiglanz hat gesagt.:
Was soll denn passieren, wenn jemand seinen Kaffee in den Datenbankserver schüttet und also die Methode an der Stelle die Exception wirft?
Gute frage... hätte da an eine methode gedacht, die dann für alle fehler EIN Verfahren anwendet, nämlich System.exit...

Geht das nicht igendwie?

ToMiNaToR
 
S

stev.glasow

Gast
Doch wenn das immer mit throws durchgereicht wird.

Ich mach auch gerne :

Code:
try {
... code...
}  catch (Exception e) throw new RuntimeException(e); }
 

Tominator

Mitglied
stevg hat gesagt.:
Doch wenn das immer mit throws durchgereicht wird.

Ich mach auch gerne :

Code:
try {
... code...
}  catch (Exception e) throw new RuntimeException(e); }

Hatten wir das nicht schon alles, oder hab ich da was fehlverstanden?

ToMiNaToR
 
B

bygones

Gast
stevgs art ist nicht empfehlenswert.....

es ist nun mal so, wenn eine Exception geworfen werdne kann, entweder

1. lokal abfangen und behandeln
2. weiterreichen, so dass eine andere methode sie abfängt
 

Tominator

Mitglied
Könnte man die Klasse nicht einer "Trichter"-Klasse übergeben, die dann die Funktionen der Klasse mit Exception behandlung weiterreicht??

ToMiNaToR

P.S. ich habe es so gelöst, dass ich alle Methoden einzeln umwandele, aber geht das nicht auch irgendwie einfacher??
 

Bleiglanz

Gesperrter Benutzer
Nein, alles das funzt nicht

du musst schon jede Methode einzeln anlangen, wenn du die throws raushaben willst

möglich wäre eine static Funktion, die dein "globales" Exceptionhandling realisiert
Code:
try {
... code...
}  catch (SQLException e) {
    MeineHifsklasse.datenbankfehler(e)
}
aber das ist auch nicht so toll, weil du ja nicht weisst, in welchem Kontext das Ding aufgerufen wird

SELECT => meldung an den user reicht?

drittes von vier UPDATES => transaktion zurückfahren?

usw. usf.

sowas wie ein super-total-globaler Handler für alle Fälle ist nicht direkt einfach zu implementieren...
 

Sky

Top Contributor
Bleiglanz hat gesagt.:
sowas wie ein super-total-globaler Handler für alle Fälle ist nicht direkt einfach zu implementieren...
Da kann ich nur zustimmen. Ich musste dies mal machen, weil das ganze Fehlerhandling hoch-konfigurabel sein sollte... keine dankbare Aufgabe.

Wenn Du aber die notwendige Zeit hast, ein ordentliches Design zu machen (und dieses auch durchhälst) so kann es eine schöne Anwendung werden ;-)
 
S

stev.glasow

Gast
deathbyaclown hat gesagt.:
stevgs art ist nicht empfehlenswert.....

es ist nun mal so, wenn eine Exception geworfen werdne kann, entweder

1. lokal abfangen und behandeln
2. weiterreichen, so dass eine andere methode sie abfängt
Was heißt "es ist nun mal so"? Wozu groß mit Excepetions rumplagen die eh nicht geworfen werden. beste Beispel: IOExcpetion beim schreiben in einen ByteArrayOutputStream.
Wenn es möglich ist das die Exception auch geworfen wird sollte das natürlich behandelt werden, aber sonst schlepp ich die nicht mit oder plag mich damit rum. Und manches feffer ich auch aus Bequemlichkeit so bis ganz nach oben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
BATMAN_2008 Jackson adding additional fields to JSON throws java.util.concurrent.CompletionException: Java Basics - Anfänger-Themen 2
J Verständnisfrage zu throws neben Funktionen Java Basics - Anfänger-Themen 2
S throws bei Methoden Java Basics - Anfänger-Themen 4
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
H throws und try catch Java Basics - Anfänger-Themen 8
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
M [JTable] getValue throws ArrayOutOfBoundException Java Basics - Anfänger-Themen 1
M Throws Anweisung innerhalb eines Methodenkopfes unklar Java Basics - Anfänger-Themen 4
M Exceptions per throws oder try Java Basics - Anfänger-Themen 4
F Exceptionbehandlung --> catch/throws Java Basics - Anfänger-Themen 11
StrikeTom Ein paar(2) Fragen zu throws und try + catch Java Basics - Anfänger-Themen 6
A Throws und throw.... Java Basics - Anfänger-Themen 7
K PROBLEM mit throws Java Basics - Anfänger-Themen 11
M Ändert ein 'throws Exception' die Signatur einer Methode? Java Basics - Anfänger-Themen 3
C throws Exception Java Basics - Anfänger-Themen 2
J Exception weiterleiten mit throws Java Basics - Anfänger-Themen 2
J Java GUI Problem (throws.) Java Basics - Anfänger-Themen 3
kb statische methoden und throws exception Java Basics - Anfänger-Themen 2
S Exception is not compatible with throws clause in DefaultHan Java Basics - Anfänger-Themen 3
E Methodendeklaration mit throws wird nich behandelt Java Basics - Anfänger-Themen 3
C Methodenaufruf mit throws IOException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben