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?
Danke und Gruß
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: