Throws Anweisung innerhalb eines Methodenkopfes unklar

Maik.Neumann

Aktives Mitglied
Hallo noch einmal,

Ich verstehe in diesem SourceCode nicht so ganz, warum die Methode "decorateWithBuffer" nicht explizit in ihrem Methodenkopf angeben muss, dass sie eine IllegalArgumentException werfen / erzeugen kann? Warum muss dieses erst im Methodenkopf der Methode "copyBuffered" defineirt werden?

Java:
public void copyBuffered(final InputStream is, final OutputStream os) throws IOException{
		
     final InputStream bufferedIn = decorateWithBuffer(is);
     final OutputStream bufferedOut = decorateWithBuffer(os);
		
     // do something with bufferedIn and bufferedOut

}


public InputStream decorateWithBuffer(final InputStream inStream){
	
     if(inStream == null){
        throw new IllegalArgumentException("inStream darf nicht null sein!");
     }
		
     if(!(inStream instanceof BufferedInputStream)){			
	     return new BufferedInputStream(inStream);			
     }
		
     return inStream;
}

Danke und Gruß
 
Zuletzt bearbeitet:

Phash

Top Contributor
IllegalArgumentException ist eine unchecked Exception (eine Runtime Exception) und wird nicht explizit geworfen. (Analog zur NPE)

Unchecked Exceptions werden nicht explizit angezeigt. Du solltest in deiner Methode selbst prüfen, dass die Parameter passen
 
Zuletzt bearbeitet:

knilch

Bekanntes Mitglied
Hi,
Bei der Methode decorateWithBuffer kann die Exception IllegalArgumentException geworfen werden. Wenn das der Fall ist, siehst du den Text: inStream darf nicht null sein! in der Exception.
Bei der Methode copyBuffered bekommst du nur die Exctption, jedoch ohne irgendwelche weitere Infos.
 
Zuletzt bearbeitet:

Phash

Top Contributor
ja und?

die IO Exception ist eine checked Exception. Diese MUSS behandelt werden.
die IllegalArgumentException ist unchecked und muss daher nicht behandelt werden.

Jede Methode könnte dauernd Runtime Exceptions werfen - NPEs IAEs oder sonstwas. Das kann man nicht alles dauernd checken - vor allem, sollten diese Exceptions nicht auftreten.

Generell gilt:
Checked Exceptions sind durch irgendwelche Umstände ausserhalb des Programms gegeben (Netzwerkverbindung klappt nicht, Datenbankserver ist down, Festplatte voll, Datei nicht gefunden)
Das ist bekannt, dass diese Sachen auftreten, und man muss sie behandeln.
Unchecked Exceptions treten durch unsaubere Programmierung auf, und sollten nicht behandelt werden. Hier muss die Ursache behoben werden. (Mit Parameter Validation oder null- Prüfung und entsprechender Behandlung, falls etwas null ist.)
 
Ä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 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
T Auf "throws" verzichten! Java Basics - Anfänger-Themen 11
E Methodendeklaration mit throws wird nich behandelt Java Basics - Anfänger-Themen 3
C Methodenaufruf mit throws IOException Java Basics - Anfänger-Themen 2
T If anweisung Java Basics - Anfänger-Themen 5
C Scanner und If-Anweisung in Kombi Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Wie würde hier die if-Anweisung aussehen? Java Basics - Anfänger-Themen 18
B break Anweisung Java Basics - Anfänger-Themen 13
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
H Cäsar chiffrierung ohne if-Anweisung Java Basics - Anfänger-Themen 5
D kann man vor dem CSVRecord, replace Anweisung anwenden ? Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
C Anweisung Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
W Warum funktioniert meine if Anweisung nicht? Java Basics - Anfänger-Themen 8
K if Anweisung Java Basics - Anfänger-Themen 3
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
V Erste Schritte Warum geht meine continue Anweisung nicht? Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert [SQL] SQL als Anweisung mit Spezial-Fall EclipseEclipse Java Basics - Anfänger-Themen 8
J If Anweisung in Schleife einbinden Java Basics - Anfänger-Themen 7
JavaNewbie2.0 Zur Anweisung zurück Java Basics - Anfänger-Themen 13
J Erste Schritte Vorsicht Spaghetti-Code! Wie verschachtel ich meine If-Anweisung??? Java Basics - Anfänger-Themen 4
L if-Anweisung Java Basics - Anfänger-Themen 5
DontFeedTheTroll Erste Schritte Verständnisfrage zu If-Anweisung Java Basics - Anfänger-Themen 7
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
Q Variablen If Anweisung, kleiner fehler Java Basics - Anfänger-Themen 8
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
OlafHD String in einer If-Anweisung Vergleichen Java Basics - Anfänger-Themen 2
N Rekursion mit if-Anweisung Java Basics - Anfänger-Themen 10
P if anweisung Java Basics - Anfänger-Themen 8
L Frage zur while Anweisung Java Basics - Anfänger-Themen 10
F Return-Anweisung Java Basics - Anfänger-Themen 2
B If-anweisung per ja eingabe. Java Basics - Anfänger-Themen 2
C Variablen if Anweisung falsch gesetzt Java Basics - Anfänger-Themen 4
1 Bei if-Anweisung: Syntax error on token Java Basics - Anfänger-Themen 5
A for-Schleife, if-Anweisung Java Basics - Anfänger-Themen 4
A if - Anweisung Java Basics - Anfänger-Themen 6
R Erste Schritte Schleife erzeugen (mit If Anweisung) Java Basics - Anfänger-Themen 3
P Bei Switch-Anweisung wird default-Anweisung angezeigt Java Basics - Anfänger-Themen 4
M if, else Anweisung Java Basics - Anfänger-Themen 3
O This in switch anweisung Java Basics - Anfänger-Themen 5
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
M If-Anweisung (Objekt nachdem es gegessen wurde, mehrmals auftauchen lassen) Java Basics - Anfänger-Themen 3
F Fehler in der Swich-Anweisung aber Warum? Java Basics - Anfänger-Themen 4
A if-Anweisung zwischen zwei Punkten Java Basics - Anfänger-Themen 1
T Problem mit IF-Anweisung. Java Basics - Anfänger-Themen 3
B Erste Schritte Addition von double in switch-Anweisung Java Basics - Anfänger-Themen 2
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
H Leere Anweisung Java Basics - Anfänger-Themen 24
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
F Reset in der switch Anweisung Java Basics - Anfänger-Themen 3
V Frage zur IF Anweisung Java Basics - Anfänger-Themen 40
Bluedaishi Klassen Thread über if Anweisung starten und von anderer Klassen über Button Beenden Java Basics - Anfänger-Themen 34
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
H Verständnisfrage für oder Anweisung Java Basics - Anfänger-Themen 8
D Denkfehler in der If-Anweisung Java Basics - Anfänger-Themen 3
K if anweisung Java Basics - Anfänger-Themen 13
M Erste Schritte Break-Anweisung bei if-else Java Basics - Anfänger-Themen 6
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
S probleme mit der return anweisung Java Basics - Anfänger-Themen 20
K Methoden while Anweisung Java Basics - Anfänger-Themen 81
D Frage zu der import Anweisung in Java Java Basics - Anfänger-Themen 15
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
W "switch" Anweisung - Rechenzeichen? Java Basics - Anfänger-Themen 5
I Methoden Wochenkalendar switch anweisung fehlt Java Basics - Anfänger-Themen 4
D Verschachtelte IF-Anweisung Java Basics - Anfänger-Themen 10
C If-Anweisung Java Basics - Anfänger-Themen 22
C Switch Anweisung Frage Java Basics - Anfänger-Themen 8
M Bedingte Anweisung mit Boolean Java Basics - Anfänger-Themen 2
Luk10 Frage zu Switch-Anweisung Java Basics - Anfänger-Themen 11
C Umgebungsvariable import anweisung gibt fehlermeldung Java Basics - Anfänger-Themen 2
A if Anweisung in Schleife Java Basics - Anfänger-Themen 10
C Erste Schritte switch Anweisung geht nicht Java Basics - Anfänger-Themen 3
R fif-Anweisung funktioniert nicht wie erwartet Java Basics - Anfänger-Themen 11
B IF-Anweisung hat einen Fehler Java Basics - Anfänger-Themen 5
C unklare anweisung Java Basics - Anfänger-Themen 11
F if Anweisung mit Rückgabewert? Java Basics - Anfänger-Themen 4
C Problem bei if-anweisung Java Basics - Anfänger-Themen 8
J print-Anweisung verschluckt Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben