Zagadka:
package pl.japila.java7; public class PreciseRethrowDemo { public static void main(String[] args) throws Exception { PreciseRethrowDemo demo = new PreciseRethrowDemo(); demo.createFoo(); } Foo createFoo() throws FooException { Bar bar = new Bar(); try { return new Foo(bar); } catch (Throwable t) { t = new SubFooException(); bar.cleanup(); throw t; } } @SuppressWarnings("serial") static class FooException extends Exception {} @SuppressWarnings("serial") static class SubFooException extends FooException {} static class Foo { Foo(Bar bar) throws FooException { throw new FooException(); }; } static class Bar { void cleanup() {}; } }Czy powyższe skompiluje się? Jeśli tak, jaki będzie rezultat? Odpowiedzi można umieszczać w komentarzach. Proszę o kolejne zagadki, jeśli spotkałeś/-aś się z podobnymi w obszarze obsługi wyjątków w Java 7.
p.s. Za kilka dni - 17 grudnia 2011 - kończy się możliwość podejścia do testowego egzaminu na Oracle Certified Associate, Java SE 7 Programmer. System wyliczył mi koszt na poziomie 61 USD i przy niekorzystnym kursie USD/PLN mimo wszystko planuję podejść do niego za 2 tygodnie. A Ty?
Nie mogę za bardzo zrozumieć tej granicznej daty 17 grudnia dla egzamiu. Czy jest to data do której trzeba zaliczyć egzamin (przystąpić) czy się zarejestrować / wykupić?
OdpowiedzUsuńNie wiem, ale domyślam się, że jest to data ostatniego dnia rejestracji na egzamin, który powinien odbyć się...cóż, nie wiem :( Proponuję podejść 17.12.
OdpowiedzUsuńTen komentarz został usunięty przez autora.
OdpowiedzUsuńCześć Jacku!
OdpowiedzUsuńMam na imię Łukasz. Pierwszy raz zobaczyłem Cię na JDD2011 (moja pierwsza konferencja) i kieruję do Ciebie słowa uznania za entuzjazm i pasję.
Chciałem Cię zapytać czy planujesz podejścć do zdawania certyfikatu 'Upgrade to Java SE 7 Programmer'? Z tego co widzę, to egzamin w finalnej wersji będzie dostępny koło lutego ( 10 weeks from exam close date). Mam jeszcze pytanie odnośnie wersji podstawowej, nie upgrade. Widzę, że są dwa poziomy: 'Java SE 7 Programmer I i II'. Wiesz może co one oznaczają? Pozdrawiam.
Cześć Łukasz!
OdpowiedzUsuńNie śledzę rozwoju certyfikatów i stąd niewiele wiem na ich temat. Ostatnio zobaczyłem, że Java SE 7 Programmer I pojawił się w wersji BETA i można do niego podchodzić do 17.12. Ja podchodzę!
Wielkie dzieki Jacek za wzmianke w artykule o beta testach.
OdpowiedzUsuńWydaje sie, ze "close date" dla beta certyfikatow jest ostateczna data przystapienia do egzaminu (rejestracja przypuszczalnie najpozniej dzien wczesniej). Sprawdzilem kilka centrow i w zadnym nie mozna zabukowac miejsca po wyznaczonym przez Oracle terminie.
Probujac odpowiedziec na pytanie Łukasza odnosnie "1Z1-804" - egzamin jest caly czas w przygotowaniu, ale IMO mozna sie spodziewac tego samego co w 1Z1-805 ("Upgrade to Java SE 7 Programmer"), tj. duzo API (NIO2, JDBC 4.1, resource bundle), na 100% watki i oczywiscie fundamentals (Java SE 7).
PS: 1Z1-805 "Upgrade to Java SE 7 Programmer" jest dostepny do 7.01.2012.
Szczegoly nt. beta testow na: http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=182&p_org_id=27&lang=US#2
Dla mnie już jest wszystko jasne odnośnie Java SE 7 Programmer I i II. Wersja I to odpowiednik Associate (podstawy Javy SE) a wersja II to już poziom zbliżony do SCJP (doszły nowe wymagania).
OdpowiedzUsuń@Jacku, pochwal się jak wrażenia po egzaminie w wersji beta. Ja planuję podejść do Upgrade, ale jak będzie już finalna wersja i trochę materiałów do nauki bo na razie nie wiadomo czego się spodziewać.