main IOException

netrobot

Erfahrenes Mitglied
Code:
import java.io.*;

public class app{
	public static void main(String [] args)throws IOException {
		char[] data = new char[1024] ;
		FileReader fr = new FileReader("D:\\MyJava\\chinese\\donkey.txt");
		
		int num = fr.read(data);
		String str = new String(data, 0 , num);
		System.out.println("Characters read = " + num);
		System.out.println(str);
		fr.close();
	}
}
Code:
throws IOException
man schreibt so weil es in read() Fehler auftauchen könnte. Problem ist, wenn ich throws weglasse, kann ich es nicht mehr kompilieren, wie kommt es her?
 
Hey,
ich verstehe zwar deine Frage nicht wirklich, aber IOException fängt Fehler ab, die mit dem Input/Output zu tun haben.
Du kannst diese auch anders abfangen indem du den Block wo du etwas mit I/O behandelst in einen try block setzt und dann hinterher catch(IOException e) schreibst.
Beispiel:

Code:
try
{
    FileReader fr = new FileReader("D:\\MyJava\\chinese\\donkey.txt");
    int num = fr.read(data);
}
catch(IOException e)
{
    System.out.println(e)
}

Der Vorteil bei try and catch liegt daran, dass du die Fehlermeldung behandeln kannst und noch aktionen zuweisen kannst.

Hoffe das hat dir geholfen und bitte drück dein Problem das nächste mal verständlicher aus :|
mfg,
Tsa
 
das weiss ich, aber kann es sein, ich will Exception überhaupt nicht abfangen, dann müsste es trotzdem compilieren lassen
 
Soweit ich weiß geht das nicht, aber warum willst du überhaupt eine Exception nicht abfangen lassen? Stört doch nicht weiter, wennse mal drin ist!
 
Hallo!

IOException ist eine "checked" Exception ... die muss behandelt werden (entweder in try...catch oder per throws). Unchecked Exeptions (das sind alle Exceptions die von RuntimeException abgeleitet wurden) muessen nicht in einem try ... catch oder throws behandelt werden.

Btw. man kann Checked Exceptions auch in UncheckedExceptions Kapseln...

Gruss Tom
 
Zurück