Konstrukturen und Exceptions

Status
Nicht offen für weitere Antworten.

Galaktika

Mitglied
Ist es eigentlich angemessen Konstruktoren Exceptions werfen zu lassen?(siehe Beispiel)

Code:
class XY
{
	XY(para) throws Exception
	{
		...
		meineMethode();
	}
	private void meineMethode() throws Exception
	{
		...
	}
}
Oder sollte man sie besser in Konstruktor abfangen? Eine weitere Frage ist, wenn es sich bei der Methode meineMethode() um ein falsches Argument des Konstruktors handelt,
sollte ich eine IllegalArgumentException schmeißen lassen, oder mir eine eigene Klasse von IllegalArgumentException
ableiten, die ich dann werfe?
Wie sähe das ganze aus wenn ich meineMethode() public mache und sie nicht mehr im Konstruktor aufrufe, sondern der Anwender sie benutzen müsste?
Wäre das eine bessere vorgehensweise? Müsste ich dann an anderen stellen (dort wo der Wert der durch meineMethode() erzeugt wird fehlt z.b. ein spezielles Objekt ist null) eine Exception werfen, die einen Hinweis darauf gibt das meineMethode() wahrscheinlich nicht aufgerufen wurde? Oder sollte man es in diesem Fall auf die NullPointerException ankommen lassen?

Hoffe ihr wisst weiter
 

nollario

Bekanntes Mitglied
hängt ganz davon ab, wie du mit diesem fehler selbst umgehen willst....

beispiel:

in einem konstruktor wird ein objekt mittels datenbank infos konfiguriert... es tritt eine SQLException auf und die konfiguration kann nicht erfolgen -> das objekt wird unbrauchbar. in dem falle würde es sinn machen entweder die ursprüngliche exception weiter zu reichen oder aber eine eigene drum herum zu packen und weiter zu reichen...

da hat natürlich jeder entwickler seinen eigenen stil irgendwo....

bei einer falschen parameter übergabe macht eine IllegalArgumentException sicher Sinn.
 

Isaac

Bekanntes Mitglied
Man unterscheidet zwischen Exceptions gegen die der Anwender etwas unternehmen kann. Diese leiten sihc in der Regel von "Exception" ab. Exceptions in Konstruktoren sind nicht ungewöhnlich aber auch nicht unbedingt die Regel. Es gibt jedoch Momente wo sie durchaus sinnvoll. Hierzu zählen sicher alle Objekte/Klassen die einen Übergabeparameter brauchen und dieser für ihre Existenz essenziell ist. Dieser Exceptions werden geworfen und müssen vom Anwender gefangen oder weiter geworfen werden.

Die 2te Gruppe sind die RuntimeExceptions. Dies sind Exceptions die "ungewollt" zur Laufzeit auftauchen gegen die der Programmierer aber nichts machen kann. Wenn Du z.b. einen Vector durchlaufen willst und schreibst "vector.size()" und du bekommst eine NullPointerException dann fragt man sich meist zuerst "Wieso ist der Scheiss Vector null?". Dies sind Exceptions die eben eigentlich nicht auftreten dürfen. Deshalb muss man sie auch nicht fangen.

Wenn du selbst Exception werfen willst bedenke immer zuerst ob der anwender im Fehlerfall noch etwas drum herum programmieren kann, z.b. ein Dialog "Der von ihnen angegebene Pfad ist Schreibgeschützt". Dann kann der Anwender der Applikation noch etwas dagegen unternehmen und einen anderen Pfad auswählen.


Kann er noch was machen? -> extends Exception
Kann er nix mehr machen? -> extends RuntimeException
 
B

Beni

Gast
@Isaac
Man kann auch RuntimeExceptions mit einem try-catch-Block abfangen... also man kann durchaus darauf reagieren.

@Galaktika
Ich würde unbedingt noch einen Kommentar zu der Methode/Konstruktor schreiben, unter welchen Voraussetzungen eine Exception geworfen wird. Sonst verstehst du später deinen eigenen Code nicht mehr.
 

Isaac

Bekanntes Mitglied
Beni hat gesagt.:
@Isaac
Man kann auch RuntimeExceptions mit einem try-catch-Block abfangen... also man kann durchaus darauf reagieren.

Hab ich gesagt das man das nicht kann? Das war nicht meine Absicht.

Ich fange relativ häufig welche ab wenn ich weiss das es "planmässig" zu einer NullpointerException kommen kann.
 
B

Beni

Gast
Isaac hat gesagt.:
Beni hat gesagt.:
@Isaac
Man kann auch RuntimeExceptions mit einem try-catch-Block abfangen... also man kann durchaus darauf reagieren.

Hab ich gesagt das man das nicht kann? Das war nicht meine Absicht.

Ich fange relativ häufig welche ab wenn ich weiss das es "planmässig" zu einer NullpointerException kommen kann.

Dann hab ich dich falsch verstanden :idea:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Exceptions mit try-catch-Surrounding - Probleme Java Basics - Anfänger-Themen 6
M Test auf Exceptions schreiben Java Basics - Anfänger-Themen 11
berserkerdq2 Habe zwei exceptions, welche ist ein Kommunikationsfehler und welche ein Ausgabefehler? Java Basics - Anfänger-Themen 4
julian112 Input/Output .gz bzw. .txt Datei Einlesen und Umgang mit Exceptions Java Basics - Anfänger-Themen 1
C Exceptions identifizieren Java Basics - Anfänger-Themen 5
A Exceptions mit objektreferenzen Java Basics - Anfänger-Themen 4
A Exceptions und methods Java Basics - Anfänger-Themen 2
A Cannot find symbol bei exceptions Java Basics - Anfänger-Themen 2
A Exceptions und Packages Java Basics - Anfänger-Themen 6
B JUnit / Exceptions/ try-catch Java Basics - Anfänger-Themen 6
X Exceptions Benutzereingaben Java Basics - Anfänger-Themen 4
F Exceptions in Interfaces Java Basics - Anfänger-Themen 4
F Mehrere Exceptions in einem Catch-Block abfangen Java Basics - Anfänger-Themen 12
L Exceptions und Konten Java Basics - Anfänger-Themen 21
D Frage zu Exceptions Java Basics - Anfänger-Themen 8
G Wie programmiert man Exceptions? Java Basics - Anfänger-Themen 4
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
C Erste Schritte Exceptions nicht verstanden Java Basics - Anfänger-Themen 2
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
T Exceptions - ausgeführte Zeilen Java Basics - Anfänger-Themen 4
J Exceptions Java Basics - Anfänger-Themen 69
C Exceptions Java Basics - Anfänger-Themen 8
C Exceptions Java Basics - Anfänger-Themen 6
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
F Exceptions Java Basics - Anfänger-Themen 6
J Frage zum Thema Exceptions (Try/Catch) Java Basics - Anfänger-Themen 3
M "Exceptions abfragen" Java Basics - Anfänger-Themen 6
Farbenfroh Exceptions Anfänger - Finde Fehler nicht Java Basics - Anfänger-Themen 7
Z Catch & Exceptions Java Basics - Anfänger-Themen 4
N Compiler-Fehler Drei Exceptions in GUIHack für Dreiecke auf MoveButtons Java Basics - Anfänger-Themen 36
V Welche Exceptions müssen importiert werden? Java Basics - Anfänger-Themen 3
S Exceptions Java Basics - Anfänger-Themen 7
M Vererbung Problem Vererbung/Exceptions Java Basics - Anfänger-Themen 9
S Verschachtelte Exceptions - Übersicht verbessern Java Basics - Anfänger-Themen 2
J Eclipse Exceptions Java Basics - Anfänger-Themen 2
K Schleifen und Exceptions Java Basics - Anfänger-Themen 8
K Exceptions auslagern Java Basics - Anfänger-Themen 15
R NullPointer Exceptions Java Basics - Anfänger-Themen 3
F Erste Schritte Übung zu Exceptions Java Basics - Anfänger-Themen 24
R Exceptions (try/catch) Java Basics - Anfänger-Themen 63
H Int Exceptions Java Basics - Anfänger-Themen 12
M Exceptions per throws oder try Java Basics - Anfänger-Themen 4
M Compiler-Fehler Queue als ArrayList mit Exceptions Java Basics - Anfänger-Themen 3
T Exceptions in einer Klasse Java Basics - Anfänger-Themen 3
B Eigene Exceptions entwerfen Java Basics - Anfänger-Themen 3
H Methoden Überflüssige Exceptions Java Basics - Anfänger-Themen 20
C Exceptions Java Basics - Anfänger-Themen 14
1 While Schleife Exceptions Java Basics - Anfänger-Themen 6
I Erste Schritte Eigene Fehlermeldungen bei Exceptions Java Basics - Anfänger-Themen 19
D Frage zu Exceptions Java Basics - Anfänger-Themen 12
M Compiler-Fehler Exceptions lieber throwen oder direkt catchen? Java Basics - Anfänger-Themen 8
T Exceptions Java Basics - Anfänger-Themen 19
B Wie finde ich Exceptions? Java Basics - Anfänger-Themen 19
Dit_ Input/Output Alle Exceptions protokollieren Java Basics - Anfänger-Themen 9
T Exceptions Java Basics - Anfänger-Themen 12
J Standard Exceptions abfangen Java Basics - Anfänger-Themen 5
F Exceptions werfen oder catchen?? Java Basics - Anfänger-Themen 14
D Exceptions - Ausnahmebehandlung Java Basics - Anfänger-Themen 19
D Frage zu Exceptions und der import Anweisung Java Basics - Anfänger-Themen 12
J Paar Fragen zu Exceptions Java Basics - Anfänger-Themen 16
G Verständnisproblem: Exceptions Java Basics - Anfänger-Themen 17
S Exceptions bei push/pop in Stack Java Basics - Anfänger-Themen 8
C Exceptions beim Beenden Java Basics - Anfänger-Themen 2
C TimerTask und Exceptions Java Basics - Anfänger-Themen 5
E Klasse öffnen, mehrere Exceptions Java Basics - Anfänger-Themen 9
C Exceptions Java Basics - Anfänger-Themen 7
G 2 Exceptions in einer Methode Java Basics - Anfänger-Themen 3
firefexx Exceptions werfen Java Basics - Anfänger-Themen 5
0 Exceptions mehrfach fangbar? Java Basics - Anfänger-Themen 4
O Exceptions Java Basics - Anfänger-Themen 3
K Sinn eigener Exceptions Java Basics - Anfänger-Themen 11
H Diverse Exceptions - Troubleshooting Java Basics - Anfänger-Themen 3
J exceptions Java Basics - Anfänger-Themen 8
sc0p InterruptedExceptions und Exceptions - in Einem! Java Basics - Anfänger-Themen 5
M Frage zu Exceptions Java Basics - Anfänger-Themen 19
M Fragen zu Exceptions Java Basics - Anfänger-Themen 3
A Exception Verständnisfrage: Exceptions während, einer Statischenzuweisung abfangen Java Basics - Anfänger-Themen 10
D Exceptions werfen + beenden Java Basics - Anfänger-Themen 12
M Exceptions aus interface-Methoden Java Basics - Anfänger-Themen 2
S File.renameTo und Exceptions / Fehlermeldung Java Basics - Anfänger-Themen 2
B Exceptions in Liste sammeln? Java Basics - Anfänger-Themen 5
O Eigene Exceptions Java Basics - Anfänger-Themen 11
O "restliche" Exceptions fangen Java Basics - Anfänger-Themen 8
H [Stil] Exceptions in der Klasse behandeln oder throwen? Java Basics - Anfänger-Themen 62
T Problem beim Werfen und Fangen von Exceptions Java Basics - Anfänger-Themen 2
V Aktivitätsdiagramm / Exceptions Java Basics - Anfänger-Themen 5
V Exceptions Java Basics - Anfänger-Themen 6
K Frage zu Exceptions -> Logging Java Basics - Anfänger-Themen 6
M Eigene Fehlermeldung bei Exceptions? Java Basics - Anfänger-Themen 12
R JDom Exceptions Java Basics - Anfänger-Themen 4
R Datei einlesen mit Exceptions Java Basics - Anfänger-Themen 2
Daniel_L Verwendung von try und catch bei exceptions Java Basics - Anfänger-Themen 7
C Reflection Exceptions behandeln Java Basics - Anfänger-Themen 6
G Exceptions - spiegeln wir da nicht einen Spiegel im Spiegel? Java Basics - Anfänger-Themen 10
G Verschiedene Exceptions zu gleichem Block Java Basics - Anfänger-Themen 6
U Frage zu Exceptions Java Basics - Anfänger-Themen 5
mwildam Philosophiefrage zu Exceptions und Rückgabewerten Java Basics - Anfänger-Themen 6
D Static, final Objekte mit Exceptions im Konstruktor Java Basics - Anfänger-Themen 2
G Exceptions Java Basics - Anfänger-Themen 4
G ServerSocket: Exceptions und Timeout Probleme Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben