Java-Terminologie: Warum Kompilierzeitfehler und keine Kompilierzeitausnahme?

7

Das hört sich peinlich an ...
Aber ich habe es nicht verstanden.

Warum haben wir compile-time error und nicht compile-time exception in Java?

Ich will damit sagen, dass wir niemals compile-time exception.
sagen Wir neigen dazu, es als compile-time error zu sagen.

Gibt es einen bestimmten Grund für das gleiche?
Irgendwelche Vorschläge sind willkommen ....

Danke!

    
meriton 22.05.2010, 15:21
quelle

6 Antworten

10

Der Grund dafür ist, dass eine Ausnahme während der Ausführung eines Programms ausgelöst wird. Java hat dafür einen speziellen Typ, die Klasse Exception .

Zur Kompilierungszeit wird Ihr Code nicht ausgeführt, sodass keine Ausnahme ausgelöst werden kann. In der Tat ist es die richtige Ausführung des Compilers, um Fehler in Ihrem Code zu finden - sicherlich kein Ausnahmefall!

    
danben 22.05.2010, 15:28
quelle
4

Ausnahme in Java ist wirklich anders als Kompilierungsfehler. Wir haben nicht den Begriff Kompilierzeit Ausnahme. Weil Ausnahme ist etwas passiert, dass Sie nicht erwarten, dass es passiert. Wir haben nur die Ausnahme aktiviert und deaktiviert. Mit der geprüften Ausnahme in der Kompilierzeit wird der Compiler Sie zwingen, sie abzufangen, aber ist kein Fehler . Fange es nicht, du kannst das Programm nicht kompilieren, aber es ist kein Fehler beim Kompilieren.

    
vodkhang 22.05.2010 15:29
quelle
3

Ein Fehler zeigt an, dass ein Problem mit dem Programm vorliegt. Eine Ausnahme ist ein spezifisches Konstrukt, das den Steuerungsfluss des Programms unterbricht und den Stapel abwickelt, wobei Informationen über den Status des Stapels erfasst werden, damit dieser gemeldet werden kann.

Eine Ausnahme kann verwendet werden, um einen Fehler anzuzeigen, aber nicht immer. Zum Beispiel:

%Vor%

Dieses unvollständige Codebeispiel soll einen Fall zeigen, in dem eine Ausnahme kein Fehler ist. Dies ist nicht immer die beste Vorgehensweise. aber es wird in einigen Fällen verwendet, wenn die Absicht darin besteht, den Kontrollfluss tief im Programm zu unterbrechen (z. B. das Umleiten der Seite in einem Web-Framework, wenn auf eine HTTP-Anfrage reagiert wird) und die Kontrolle auf eine höhere Ebene des Stapels zurückgibt . Der Begriff Ausnahme bezieht sich auf den Mechanismus, der das Programm unterbricht.

In Java gibt es eine Klasse Ausnahme , die dieses Verhalten kapselt. Die Klasse Fehler unterbricht den Kontrollfluss ebenso wie eine Ausnahme. aber es ist nur für schwerwiegende, nicht behebbare Probleme reserviert, die zur Laufzeit auftreten. Es wird beispielsweise verwendet, wenn der JVM nicht genügend Arbeitsspeicher zur Verfügung steht und keine neuen Objekte erstellt werden können.

    
RMorrisey 22.05.2010 15:47
quelle
2

Ausnahme ist etwas mehr von einem unerwarteten Fluss, der gehandhabt werden kann. Kompilierzeit Fehler ist mehr wie ungültiger Code..so Code kompiliert nicht .. Daher Begriff "Fehler", da es ein ernsteres Problem bezeichnet, das behoben werden muss.

    
Inv3r53 22.05.2010 15:39
quelle
1

Kompilierzeitfehler sind das Ergebnis der Unfähigkeit der Software, wie sie angewiesen wird, erstellt zu werden. Zum Beispiel:

%Vor%

ist ein Kompilierzeitfehler. Während eine Ausnahme ist etwas, das während der Softwareverarbeitung abgefangen wird.

%Vor%

Hier haben wir angenommen, dass die Datei ordnungsgemäß geöffnet werden konnte und war. Die Ausnahme gilt für solche "Ausnahmefälle", in denen das Öffnen der Datei nicht erfolgte.

    
wheaties 22.05.2010 15:29
quelle
0

Eine Ausnahme ist der spezifische Name für einen Fehler, der innerhalb der Logik Ihrer Software behandelt werden kann. Ein Fehler ist einfach das, ein Tippfehler oder einfach nur falscher Code.

    
blissapp 22.05.2010 15:25
quelle