Eigene Fehlermeldung bei Exceptions?

Status
Nicht offen für weitere Antworten.

melly

Mitglied
Hallo,

ich habe in meinem Programm ein Textfeld, die Eingaben werden nach drücken eines Buttons in eine Datenbank geschrieben. Das Ganze habe ich in einen try/catch Block geschrieben:

try {
eventDataProvider.commitChanges();
eventDataProvider.refresh();
}
catch (Exception ex) {
log("Error Description", ex);
error(ex.getMessage());
}


Falls der Datensatz bereits vorhanden ist, wird eine Fehlermeldung ausgegeben. Ich möchte aber meine eigene Fehlermeldung ausgeben und habe den Code deshalb so umgeschrieben:

try {
eventDataProvider.commitChanges();
eventDataProvider.refresh();
}
catch (Exception ex) {
log("Error Description", ex);
error("There is already a record at this time! ");
}


Funktioniert auch, das Problem ist nur, dass wenn garnichts in das Feld eingegeben wird auch diese Fehlermeldung ausgegeben wird. Für diesen Fall möchte ich aber eine andere Fehlermeldung ausgeben.

Kann mir jemand sagen wie ich eigene Fehlermeldungen erstelle? Ist es möglich die Standard-Fehlermeldung zu überschreiben? Oder kann ich eine Abfrage machen um welchen Fehler es sich handelt und dann die entsprechende Fehlermeldung ausgeben lassen?

Danke,
Grüße Melly
 
M

maki

Gast
Fange mal nicht alle Exceptions, sowas sollte man nie machen
Code:
..
catch(Exception e)
..
sondern nur die die du behandeln willst.
 

Verjigorm

Top Contributor
Wenn ich dich richtig verstehe *kopfkratz*, dann willst du sowas:

Code:
throw new XXXException("Meine eigene Fehlermeldung");

wobei du für XXX die konkrete Exception (z.B. IOException) angeben musst/kannst.

mfg
 

Mostly_Harmless

Aktives Mitglied
Falls der Datensatz bereits vorhanden ist, wird eine Fehlermeldung ausgegeben.
[...]
Funktioniert auch, das Problem ist nur, dass wenn garnichts in das Feld eingegeben wird auch diese Fehlermeldung ausgegeben wird. Für diesen Fall möchte ich aber eine andere Fehlermeldung ausgeben.

Da diese beiden Situationen (Datensatz bereits vorhanden, Textfeld leer) aber durchaus nicht außergewöhnlich sind,
wäre es hier ohnehin angebrachter, dein Problem statt mit Exceptions mit einer einfachen if-else-Abfrage zu lösen.

Außerdem weißt du dann auch ganz genau, was nicht stimmt und kannst die Fehlermeldung dementsprechend anpassen.
 
Zuletzt bearbeitet:
M

maki

Gast
Mostly_Harmless,

wie soll das gehen, mit if-else?

Etwa vorher eine DB Abfrage nach dem Datensatz suchen lassen? :D
 

AmunRa

Gesperrter Benutzer
Nachdem er zuerst liest was in seinem Textfeld steht kann er ja auch zuvor prüfen mit if-else ob überhaut etwas in das Textfeld eingetragen wurde.
 
M

maki

Gast
@digitalist
Mit einem ORM (zB. JPA/Hibernate) läuft das anders.

Ausserdem sehe ich da eine Racing Condition in deinem Pseudo-Code ;)
Zwischen dem Update und dem Insert könnte ja noch ein fremdes Insert laufen.
 
Zuletzt bearbeitet von einem Moderator:

Ravendark

Aktives Mitglied
melly hat gesagt.:
Kann mir jemand sagen wie ich eigene Fehlermeldungen erstelle?
Du erstellst dir deine eigene Exception-Klasse, dann kannst du irgendwo später deine eigene Exception werfen
und dementsprechend behandeln.

[HIGHLIGHT="Java"]public class MyException extends RuntimeException {

public MyException(String msg) {
super(msg);
}

}


public class Test {

public static void main(String[] args) {
try {
throw new MyException("My own Java-Exception");
}
catch(MyException e) {
System.out.println(e);
}
}

}[/HIGHLIGHT]
 

didjitalist

Bekanntes Mitglied
Ausserdem sehe ich da eine Racing Condition in deinem Pseudo-Code ;)
Zwischen dem Update und dem Insert könnte ja noch ein fremdes Insert laufen.

was das pattern verhindern soll ist, dass die datenbank u.U. teure ausnahmen bei constraint violations durchlaufen muss. es gibt öfters mal fälle, in denen man daten eigentlich updaten will, aber den derzeitigen stand in der DB nicht kennt und im zweifel neu einfügen muss. daher erst ein update, dann ein insert.

wenn man irgendwelche frameworks wie hibernate o.ä. verwendet, hat man mit so basalen geschichten meißt eh nichts zu tun.
 
M

maki

Gast
was das pattern verhindern soll ist, dass die datenbank u.U. teure ausnahmen bei constraint violations durchlaufen muss. es gibt öfters mal fälle, in denen man daten eigentlich updaten will, aber den derzeitigen stand in der DB nicht kennt und im zweifel neu einfügen muss. daher erst ein update, dann ein insert.
Weiss nicht ob es "sparsamer" ist erst ein Update auf einen Record zu versuchen denn es vielleicht gar nicht gibt, nur um danach ein Insert zu machen welcher fehlschlagen kann, weil der Record gerade von wem anders angelegt wurde.

wenn man irgendwelche frameworks wie hibernate o.ä. verwendet, hat man mit so basalen geschichten meißt eh nichts zu tun.
Das man einen doppelten UniqueContraint einfügen will und damit einen Fehler provoziert gibt es auch bei ORM.
Zumindest weiss ein ORM genau ob ein Update oder ein Insert nötig wäre.
 

didjitalist

Bekanntes Mitglied
es ist zumindest sparsamer, als der umgekehrte weg. erst ein insert zu versuchen, alle fehler aufzufangen und dann ein update zu fahren. fehlschlagen kanns dann immer noch, aber das ist halt pech.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
T Datentypen Eigene Datentypen Java Basics - Anfänger-Themen 15
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
D Attribut Telefonnummer - eigene Klasse oder String Java Basics - Anfänger-Themen 13
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
S Eigene LinkedList Klasse Java Basics - Anfänger-Themen 4
I Eigene Java Tools Nutzung Java Basics - Anfänger-Themen 6
G eigene Bibliothek einbinden Java Basics - Anfänger-Themen 1
K Eigene Annotations, Pre-/Post-/Call-Method Java Basics - Anfänger-Themen 6
O Erste Schritte Eigene charAt(i) Methode schreiben Java Basics - Anfänger-Themen 10
D Methoden Eigene Methode um alle Ausgaben aufzurufen Java Basics - Anfänger-Themen 17
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
P Maven und eigene Jars Java Basics - Anfänger-Themen 4
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
A Eigene Methoden entwicken Java Basics - Anfänger-Themen 3
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
H GSON-Bibliothek für eigene Programme benutzen Java Basics - Anfänger-Themen 2
H Klassen auf eigene Klasse zugreifen Java Basics - Anfänger-Themen 2
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
N Eigene Stream Methoden implementieren Java Basics - Anfänger-Themen 3
R eigene Graphikbedienelemente Java Basics - Anfänger-Themen 8
V Generics / eigene Liste Java Basics - Anfänger-Themen 4
T Eigene Bedingung in IF-Bedingung Java Basics - Anfänger-Themen 22
P Java 8 & Eigene Applets Java Basics - Anfänger-Themen 3
E Best Practice Exaktes Rechnen mit (Pseudo-)Rationalen/Realen Zahlen. Operations Zuweisung für (eigene) Klassen Java Basics - Anfänger-Themen 3
G eigene Bibliothek in Java importieren Java Basics - Anfänger-Themen 5
D Klassen Eigene Klasse für ArrayList Java Basics - Anfänger-Themen 6
M Wann eigene implementierte HashCode Methode zwingend erforderlich? Java Basics - Anfänger-Themen 1
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
J Eigene Klasse für die Variablen? Java Basics - Anfänger-Themen 3
P Eigene Knöpfe mit eigenem Listener Java Basics - Anfänger-Themen 5
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
O GUI: Eigene Fenster "Form"? Java Basics - Anfänger-Themen 13
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
O Denkanstöße für eigene Konfigurations-Datei Java Basics - Anfänger-Themen 12
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
C eigene Exception Java Basics - Anfänger-Themen 4
M externe JARs in die eigene JAR einbinden Java Basics - Anfänger-Themen 9
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
S Eigene Exception Klasse - fehlender Konstruktor mit String Java Basics - Anfänger-Themen 3
B eigene klasse in listen eintragen Java Basics - Anfänger-Themen 6
A Objekte in eigene Klasse auslagern Java Basics - Anfänger-Themen 2
S [JavaFX 2.1] - Eigene Sprachauswahl? Java Basics - Anfänger-Themen 4
K Klassen Eigene Exception verwenden Java Basics - Anfänger-Themen 9
J eigene packages bzw klassen verwenden Java Basics - Anfänger-Themen 25
E Eigene Stackklasse Java Basics - Anfänger-Themen 7
B Eigene Exceptions entwerfen Java Basics - Anfänger-Themen 3
S Eigene Exception Schreiben und Welche Auslösen wie ? Java Basics - Anfänger-Themen 7
P eigene kleine Datenverwaltung Java Basics - Anfänger-Themen 5
N Eigene Methoden-> Werte übergeben Java Basics - Anfänger-Themen 5
U Klassen Eigene Klassen importieren Java Basics - Anfänger-Themen 13
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E Object in eigene Klasse umwandeln? Java Basics - Anfänger-Themen 7
S Eigene Klassen addieren Java Basics - Anfänger-Themen 3
B OOP Eigene Objekte in Arrays zusammenfassen Java Basics - Anfänger-Themen 3
E Eigene class datum Java Basics - Anfänger-Themen 2
G Eigene MessageBox kreieren Java Basics - Anfänger-Themen 9
I Erste Schritte Eigene Fehlermeldungen bei Exceptions Java Basics - Anfänger-Themen 19
F Klassen Eigene Klasse definieren Java Basics - Anfänger-Themen 4
S Eigene KeyEvent-Mask erstellen Java Basics - Anfänger-Themen 4
X Eigene Libary Java Basics - Anfänger-Themen 2
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
A Klassen Eigene Datenklasse - Strings mit fixer Länge Java Basics - Anfänger-Themen 2
T eigene Exception Klasse Java Basics - Anfänger-Themen 12
G Shape um eigene Achse drehen Java Basics - Anfänger-Themen 2
P Vererbung Basisklasse soll eigene Methode benutzen Java Basics - Anfänger-Themen 38
F Eigene Klasse für die Keys von HashMap Java Basics - Anfänger-Themen 5
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
G Eigene Klasse als Array, zugriff? Java Basics - Anfänger-Themen 2
xehpuk Ordner "Eigene Bilder" ansteuern Java Basics - Anfänger-Themen 3
V Sonderzeichen als eigene "Operatoren" im JTextField Java Basics - Anfänger-Themen 4
S Eigene Stack Klasse Java Basics - Anfänger-Themen 26
D Eigene equals methode schreiben Java Basics - Anfänger-Themen 4
dataframe OOP Eigene typisierte Liste Java Basics - Anfänger-Themen 3
W GUI als eigene Klasse oder in die Startklasse? Java Basics - Anfänger-Themen 21
T Konstruktor für eigene Klasse erstellen Java Basics - Anfänger-Themen 6
H Buttonbefehle in eigene Klasse schreiben Java Basics - Anfänger-Themen 8
M Datentypen Eigene iterierbare Liste Java Basics - Anfänger-Themen 4
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
S Klassendiagramm - nur eigene Klassen? Java Basics - Anfänger-Themen 3
nrg Eigene simple List-Klasse programmieren Java Basics - Anfänger-Themen 3
C Eigene Interpreter-Programmiersprache mit Java Java Basics - Anfänger-Themen 17
B eigene Exception.... Java Basics - Anfänger-Themen 5
N Java Programm soll Datei in eigene jar schreiben Java Basics - Anfänger-Themen 13
F Eigene Exception StackTrace und Message ist leer warum??? Java Basics - Anfänger-Themen 3
M Eigene Pakete in Eclipse erstellen Java Basics - Anfänger-Themen 5
M Eigene Hash Funktion Java Basics - Anfänger-Themen 5
O Eigene Exceptions Java Basics - Anfänger-Themen 11
H eigene Schriftarten registrieren Java Basics - Anfänger-Themen 5
Kasoki Eigene Funktionen / Commands Java Basics - Anfänger-Themen 14
M Eigene LinkedList und Nodes Java Basics - Anfänger-Themen 20
S eigene Methoden in JDialog Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben