Kein finally ausführen trotz verlassen des try blocks?

Status
Nicht offen für weitere Antworten.

Amaru

Mitglied
Hi Leute,
kann mir jemand sagen welche möglichkeiten es gibt, dass der finally block trotz verlassen des try blocks nicht ausgeführt wird?
 
G

Guest

Gast
Code:
boolean ausfuehren = true;
try
{
   ...
   ausfuehren = false;
}
catch(WasAuchImmer e)
{
}
finally
{
   if(ausfuehren)
   {
      ...
   }
}
 

Amaru

Mitglied
jo aber ich muss in ner aufgabe ne frage beantworten, die lautet
geben sie zwei möglichkeiten , die dazu führen, dass der finally-block trotz verlassen des try-blocks nicht ausgeführt wird(Hardwarefehler und weltuntergang ausgeschlossen)!
 
G

Guest

Gast
Amaru hat gesagt.:
jo aber ich muss in ner aufgabe ne frage beantworten, die lautet
geben sie zwei möglichkeiten , die dazu führen, dass der finally-block trotz verlassen des try-blocks nicht ausgeführt wird(Hardwarefehler und weltuntergang ausgeschlossen)!
Es gibt keine.
 

Der Müde Joe

Top Contributor
System.exit(0) im try oder catch
wäre einen Möglichkeit

EDIT:
Grundlegend aber:
The runtime system always executes the statements within the finally block regardless of what happens within the try block. So it's the perfect place to perform cleanup.
 

kleiner_held

Top Contributor
Es nur möglich wenn man die JVM beendet, neben System.exit(0), Runtime.getRuntime().exit(0) und Runtime.getRuntime().halt(0) wären dann mMn nur Betriebssystem Aufrufe möglich, die über die JVM Prozess ID den JVM Prozess sehr abrupt beenden.

PS: folgendes gaenge auch, genuegt aber nicht der Frage, da der try-block nicht wirklich verlassen wird.
Code:
   public static void main(String[] args)
    {
        Thread t = new Thread(new Runnable()
        {
            public void run()
            {
                try
                {
                    System.out.println("try");
                    while (true)
                    {
                        try
                        {
                            Thread.currentThread().sleep(1000);
                        } 
                        catch (InterruptedException ignored)
                        {
                        }
                    }
                }
                finally
                {
                    System.out.println("finally");
                }
            }
        });
        t.setDaemon(true);
        t.start();
    }
 
G

Guest

Gast
Ich wüsste jetzt eigentlich auf Anhieb auch nur eine Möglichkeit:

Code:
try {
 // Code
} catch {
 // Bei Fehler
} finally {
 if (Bedingung) {
    // Finally
 }
}

Wenn man jetzt dafür sorgt, dass die Bedingung im if dann false ist wird der finally-Block nicht ausgeführt.
Genau genommen wäre das aber auch nicht entsprechend der Fragestellung (finde ich), da zwar der try-Block verlassen wird, aber auch der finally-Block ausgeführt wird, nur halt nicht mit Auswirkungen.

Von daher gibt es so gesehen keine Möglichkeit, die ich kenn, und die alle vorgegebenen Bedingungen der Frage erfüllen würden.
 
B

Beni

Gast
Hm, wie wäre es, wenn man "stop" auf dem aktuell ausgeführten Thread aufruft? (Das wäre was anderes als "System.exit")

Code:
Thread.currentThread().stop();
 

kleiner_held

Top Contributor
Thread.currentThread().stop(); klappt nicht, da die JVM das handhabt, indem ein ThreadDeath (ein Error) geworfen wird.
Und egal durch welches Throwable oder return ein try oder ein catch verlassen wird, das finally greift trotzdem.
 

Der Müde Joe

Top Contributor
byto hat gesagt.:
Wird finally bei nem return im Try-Block noch ausgeführt?

mal testen.....

Code:
static boolean surpriseTheProgrammer() {
    while (true) {
        try {
            return true;
        }
        finally {
        	System.out.println("finally");
            break;
        }
    }
    return false;
}


ja.....finally wird ausgeführt......und das Ergebnis??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna SonarLint: Warum kein Null-Referencing-CodeSmell-Hint hier? Allgemeine Java-Themen 23
M Kein Scanner Fehler durch falsche EIngabe Allgemeine Java-Themen 4
I OpenPDF (ehem. iText) will kein PDF mit CMYK only erzeugen Allgemeine Java-Themen 6
A Kein Online-Zugang mögl.! Allgemeine Java-Themen 4
D kein Versand von Mails mit Anhang mehr Allgemeine Java-Themen 2
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
R Warum kein throw? Allgemeine Java-Themen 3
W String Parsen und auf eigenes Muster anwenden (kein Regex) Allgemeine Java-Themen 11
A Datentypen Long.valueOf liefert kein "L" am Ende Allgemeine Java-Themen 3
M Kein Zugriff auf microSD Karten Allgemeine Java-Themen 4
B Input/Output Server Startet, Jedoch Kein Output. Allgemeine Java-Themen 1
B NullPointerException - Aber kein Fehler im Code Allgemeine Java-Themen 4
T JNI: kein Zugriff auf VM in Callback-Methode eines Windows-Hooks Allgemeine Java-Themen 3
Guybrush Threepwood Kein user.home unter Windows8 Allgemeine Java-Themen 7
127.0.0.1 SQL Exception, kein Driver Allgemeine Java-Themen 9
Z Concurrent Modification Exception - HashMap (kein remove) Allgemeine Java-Themen 4
D Eclipse Kein Zugriff auf Inhalt einer referenzierten .jar Allgemeine Java-Themen 5
S Schnell eine fortlaufende nummer erzeugen SQL, kein Primkey Allgemeine Java-Themen 8
P Mail wird nicht gesendet - Muss ich kein PW angeben ? Allgemeine Java-Themen 13
G RegEx kein Unterstrich Allgemeine Java-Themen 2
E kein doppelter Programmaufruf Allgemeine Java-Themen 3
reibi Workspace schon geöffnet (Kein Eclipse Thema) Allgemeine Java-Themen 14
D Kein Zugriff auf WebService ausser localhost Allgemeine Java-Themen 4
H Bestimmten String mit Pattern und Matcher herauslesen => kein erfolg Allgemeine Java-Themen 9
Haave Audio Device Unavailable: Kein gleichzeitiger Zugriff auf Soundsystem möglich Allgemeine Java-Themen 7
Z Boolean Abfrage gibt kein Boolean zurück, aber warum? Allgemeine Java-Themen 6
T GregorianCalendar - kein Februar Allgemeine Java-Themen 6
0 kein Java unter Server 2008 ? Allgemeine Java-Themen 3
I kann JAVA kein Mathe? Allgemeine Java-Themen 10
J Kein Zugriff auf Klassen im Default Package Allgemeine Java-Themen 8
F Threading oder kein Threading - das ist hier die Frage. Allgemeine Java-Themen 23
V FileWriter und Zahlen (Kein Problem, nur Verständnisfrage) Allgemeine Java-Themen 4
T Problem, warum macht der das so(finde kein titel.) Allgemeine Java-Themen 3
K Kein schließendes Tag bei leerem Element mit JDOM Allgemeine Java-Themen 8
D Ich ikann kein Java-Programm starten Allgemeine Java-Themen 10
B Ausführungsproblem: admin, kein admin Allgemeine Java-Themen 2
E Warum kein Import? Allgemeine Java-Themen 3
L Kein Ausführen möglich Allgemeine Java-Themen 3
egrath Anonyme Methode - warum hier kein Compilerfehler Allgemeine Java-Themen 2
D kann kein java installieren Allgemeine Java-Themen 2
S Kein Sound in Java Applets unter Win 9x Allgemeine Java-Themen 4
P kein sound bei freenet spielen Allgemeine Java-Themen 2
K Scanner.hasNext findet kein Ende Allgemeine Java-Themen 6
K Problem mit Vererbung - Kein wirklicher Nutzen. Allgemeine Java-Themen 10
Redfrettchen addAll verwendet kein Iterator? Allgemeine Java-Themen 8
P Eclipse: Kein Fehler beim Debuging aber beim normalen run Allgemeine Java-Themen 3
T Feststellen ob kein extra Thread läuft Allgemeine Java-Themen 10
U Versions-Konfusion: Ist long kein object? Allgemeine Java-Themen 3
A Dateistatus abfragen und Datei löschen sobald kein Zugriff Allgemeine Java-Themen 7
M DOS-Shell kennt kein CP850!! Allgemeine Java-Themen 2
D Kein public Konstruktor Allgemeine Java-Themen 4
H Probleme mit finally-Block und close() Allgemeine Java-Themen 4
S try finally Allgemeine Java-Themen 22
I Exceptions - weder catch- noch finally-Klausel funktioniert Allgemeine Java-Themen 12
T .Jar kann man nicht ausführen Allgemeine Java-Themen 18
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
S Buttons nacheinander ausführen Allgemeine Java-Themen 2
I Hibernate Envers - Aufruf der Methode zum Speichern selbst ausführen oder managen? Allgemeine Java-Themen 0
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
berserkerdq2 Wenn ich eine Methode nur jede 50ms ausführen will, wie mach ich das? Allgemeine Java-Themen 4
P Bat Datei in Java ausführen Allgemeine Java-Themen 2
J Jar-Datei ausführen Allgemeine Java-Themen 7
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
F jar File ausführen Allgemeine Java-Themen 14
Hatsi09 Jar datei ausführen verursacht NumberFormatException Allgemeine Java-Themen 9
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
J Linux .jar beim Start automatisch ausführen Allgemeine Java-Themen 6
J CMD Befehl in Java Consolenprogramm ausführen Allgemeine Java-Themen 6
L Python in Java ausführen Allgemeine Java-Themen 4
L Eclipse Java Code ausführen Allgemeine Java-Themen 18
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
B Input/Output Probleme beim Ausführen von Shell-Befehlen mit Java Allgemeine Java-Themen 28
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
N Script mit Java ausführen Allgemeine Java-Themen 21
F Java automatisch ausführen Allgemeine Java-Themen 3
J Alle Unit Tests in Maven Modul Projekt ausführen Allgemeine Java-Themen 7
D Verknüpfung mit Java Ausführen Allgemeine Java-Themen 1
H jar-Datei mit java.exe anstatt mit javaw.exe ausführen Allgemeine Java-Themen 9
S Eclipse Probleme beim Implementieren / Ausführen von jUnit 5-Test Suites Allgemeine Java-Themen 14
M Classpath Java App ausführen Allgemeine Java-Themen 2
Javafan01 .sh datei in Java ausführen Allgemeine Java-Themen 1
Javafan01 Ausführen Allgemeine Java-Themen 1
das_leon Hotkey ausführen Allgemeine Java-Themen 1
A Input/Output VBS-Datein mit Java Ausführen Allgemeine Java-Themen 2
K Server mieten, Berechnungen darauf ausführen Allgemeine Java-Themen 14
L HTML Formular ausführen Allgemeine Java-Themen 1
Tommy Nightmare Ausführen von CMD Befehlen Allgemeine Java-Themen 10
H .Sh Datei ausführen programmieren Allgemeine Java-Themen 5
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
M *.class Files ausführen Allgemeine Java-Themen 2
C Ausführen einer .JAR Datei Allgemeine Java-Themen 5
J Batch datei öffnen und als Admin ausführen Allgemeine Java-Themen 43
J Ältere applets ausführen? Allgemeine Java-Themen 0
A Linux bash script ausführen Allgemeine Java-Themen 16
Viktim Bash Script in Java ausführen Allgemeine Java-Themen 6
J While Schleife ausführen bis Zahl = X Allgemeine Java-Themen 19
T Programme ausführen.. Allgemeine Java-Themen 3

Ähnliche Java Themen


Oben