Pominięcie Finally

0

Poszukuje sposobu na to by wydrukowało mi:
1
3
tzn jak mogę ominąć finally ? nie mogę znaleźć odpowiedzi na to

try {
	System.out.println("1");

	} finally {

			System.out.println("2");
		}
System.out.println("3");
0

Pominąć finally się da, zabijając jvm. Ale żeby wydrukować 13 to chyba nie za bardzo. Oczywiscie pomiając modyfikacje bajtokodu i tego typu operacje.

0

Można przekierować System.out ;]

0

może zmienić finally na catch(Exception e) ?

0

próbowałem już kilku sposobów, ale nic nie działało, dowiedziałem się że jest to pytanie zadawane na rozmowach kwalifikacyjnych na starszych programistów i zaintrygowało mnie to

1

Pytania na rozmowach nie zawsze zadawane są po to, by dostać odpowiedź. Czasem pytania mogą nie mieć prawidłowej odpowiedzi, a ich zadawanie ma testować zachowanie kandydata.

Za pomocą java.lang.System.setOut() możesz przekierować System.out. W tym przypadku po System.out.println("1"); możesz przekierować System.out na nullowy (tzn nicnierobiący) PrintStream, a przed System.out.println("3"); przywrócić oryginalny PrintStream.

0

Dzięki wielkie Wibowit :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1