Exceptions und IO

NetzUnity und Informatik-forum wurden zusammengelegt. Eine entsprechende Ankündigung wird demnächst noch folgen. Für 2025 ist hier einiges geplant! Bei Fragen bitte per DM an Maximilian Rupp wenden.
  • Ich habe eine frage ob mir jemand dort weiter helfen kann ich weiß nicht ob das richtig ist was ich gemacht habe.

    Ich bitte um Hilfe.

    Also :

    Es sollen die Abfragen ergänzt werden und eine adäquate Behandlung der möglicherweise auftretenden Standardexceptions an allen relevanten Stellen.

    [JAVA]

    import java.io.*;

    public class FileCopy
    {
    static void copy( InputStream in, OutputStream out ) throws IOException
    {
    // Hier findet der eigentliche Kopiervorgang statt, diese Methode ist
    //nicht Gegenstand der Betrachtung …
    }
    static void copyFile( String src, String dest )
    {

    FileInputStream fis = null;
    FileOutputStream fos = null;


    fis = new FileInputStream(src );
    fos = new FileOutputStream( dest );


    copy( fis, fos );


    if ( fis != null )


    if ( fos != null )


    }[/JAVA]

    Ich habe auch einen Lösungsansatz weiß aber nicht ob das so richtig ist oder ob noch etwas fehlt.

    Meine Lösung :

    if ( fis != null )
    try{
    fis.close();
    } catch(IOException e){

    ; }


    if ( fos != null )
    ry{
    fos.close();
    } catch(IOException e){

    ; }

  • musst du nicht schon beim erstellen...

    Code
    FileInputStream fis = null;
    FileOutputStream fos = null;
    
    
    
    
    fis = new FileInputStream(src );
    fos = new FileOutputStream( dest );

    ...auf IOExceptions checken?

    sprich:

    Thomas

  • Hi

    Ich würde alles abfangen, und mit finally ein Ressource Leak vermeiden. Um den User nach außen zu informieren würde ich ein rethrow in copyFile machen. Würde also nicht unbedingt um jedes if ein catch machen - außer du willst dem Benutzer solche Feinheiten mitteilen ... My 10 cent ;)

    lg


  • if ( fis != null )


    Wieso machst du das? Der FileInputStream ist ja wahrscheinlich nur dann null wenn der Konstruktor eine Exception geworfen hat. Dann kommst du aber eh nicht bis dort hin.

    Ich würd wahrscheinlich die Exceptions einfach durchreichen.

    Code
    ...
    static void copyFile(String src, String dest)throws IOException, FileNotFoundException {
    ...
    }



    [Edit]: Eigentlich sagt damike ja eh schon das selbe...

  • Ich hab aber auch nochmal eine andere Frage.

    Wie mache ich, dass die Methode copyFile soll eine IdentException zurückgeben, wenn die übergebenen Strings identisch sind. Es soll dafür eine eigene Klasse IdentException geschrieben werdenbund bauen Sie diese Exception in die obige Anwendung ein. ??

    LG Stefan

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!