Syntax error on token "versuchen" bitte löschen Sie diese token
Also habe ich versucht eine Datei Lesen, dies ist mein Stück code;
try{
FileReader fr = new FileReader("mikuname.txt");
BufferedReader br = new BufferedReader(fr);
String str;
while ((str = br.readLine()) != null){
System.out.println(str + "\n");
}
br.close();
}
Aber beim kompilieren bekomme ich die Fehlermeldung "Syntax error on token "versuchen" bitte löschen Sie diese token"
Irgendeine Idee, wie kann ich dieses Problem beheben?
Danke!
- implementieren Sie einen catch-block?
- Ich glaube, Sie haben nicht die catch-block
- Ich würde normalerweise erwarten, dass ein anderer Fehler, aber Sie haben ein try ohne catch. Versuchen Sie, ohne eine zu fangen (oder endlich) keinen Sinn macht, da versuchen zu definieren, einer region, in denen Ausnahmen behandelt werden
- Wir vermissen Rahmen der
try
block. Zum Beispiel:class X { try { ...OP's stuff...} }
geben diese genaue Fehler. - das wäre eine Erklärung für die seltsame Fehlermeldung
- Warum haben Sie fügen Sie die
try{
in den ersten Platz, warum haben Sie sich entscheiden zu setzen, dass in Ihrem code? Sie können nur tun, was der compiler vorgeschlagen: löschen Sie dietry
token und sehen, was passiert. Wenn Sie es für der Grund, dass man eine Ausnahme, dann, wie andere Leute vorgeschlagen, Sie sollten genau das tun. - Eclipse definitiv beschwerte sich über die Ausnahme.
- Das hängt vom Kontext ab, was nicht gegeben ist. Wenn er das tut, was der compiler schon sagt, dann wird es einen anderen Fehler mit einem anderen Vorschlag. In diesem Fall Eclipse empfehlen eine schnelle Lösung - entweder fügen Sie einen try/catch oder fügen Sie ein 'wirft' Deklaration der Methode. Wenn die OP hatte, folgte nur die compiler-Vorschlag, hätte er wahrscheinlich das problem gelöst, indem sich selbst.
- Es ist ganz klar von dem Fehler, der OP hat geschrieben, dass als direkte syntaktische Kind der Klasse. Er hatte gerade
{ ... stuff }
; Eclipse beschwerte sich über die excption, so fügte er hinzutry
vor; jetzt Eclipse zu sagen: "Nein, entfernen Sie das versuchen". Ich verstehe ein Anfänger-Verwirrung gibt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen immer mindestens ein catch-block
doc check weitere Informationen zu try..catch [link] http://docs.oracle.com/javase/tutorial/essential/exceptions/try.html
try
kann für sich alleine stehen als Java 7 (oder haben könntefinally
eher alscatch
).Den Sie eingefügt haben Ihre
try
block out of the blue in der a-Klasse. Sie kann aus einer Skriptsprache hintergrund, wo es immer legal, nur schreiben eigenständige Aktions-code. In Java-code finden, müssen sich entweder innerhalb einer Methode oder innerhalb einer Initialisierer. Wenn Sie nur wollen, um einige code, dann legen Sie Sie in diemain
Methode:Beachten Sie, dass Ihr Fall ist eine perfekte Ergänzung für Java 7 ist versuchen mit Ressourcen:
In diesem Fall, die
try
- block müssen in Begleitung mindestens einercatch
- block oder einfinally
block.zB
try
kann für sich alleine stehen ab Java 7.try
🙂try
block muss werden in Begleitung von mindestens einemcatch
- block oder einfinally
block" ist nicht mehr wahr. 🙂"Irgendeine Idee, wie kann ich dieses Problem beheben?"
setzen
catch
block nachtry
block. dies wäre eine der richtigen Lösung:sollten Sie einen catch-block entsprechend try-block wie folgt:
Für Java 1.7+, bewegen Sie die Deklaration der Leser in der Ressource-block:
Fang-und/oder finally-block ist nicht erforderlich, wenn die Nutzung von Ressourcen.
Es sieht aus wie Sie versuchen, verwenden Sie die neue
try
mit Ressourcen in Java 7. Um das zu tun, verwenden Sie()
um Ihre Ressourcen:...und natürlich, Sie haben zu stellen Sie sicher, dass Sie mit Java 7, und Sie haben, um es in einen richtigen Kontext (innerhalb einer Methode oder innerhalb entweder eine Instanz-oder statische Initialisierer).
Da der compiler vorgeschlagen, Sie sollten entfernen
try
Schlüsselwort.Aber wenn man tatsächlich beabsichtigt zu fangen, die IOException könnte geworfen werden, sollten Sie einen
catch
Klausel eher als das löschen dertry
Stichwort.Wenn Sie mit Java 7, können Sie reinigen Sie Ihren code ein bisschen mehr. Gerade jetzt, wenn es ist ein Fehler beim Lesen der Datei, die Sie nicht schließen Sie die Datei und Ihre Anwendung möglicherweise ausführen von Datei-Deskriptoren. In Java 7 try-mit-Ressourcen-Anweisung hat eine nette Art und Weise des Umgangs mit diesen: