2011-06-20 15 views
5

Nie mam pojęcia o nazwie wyjątku środowiska wykonawczego java. Te sprawdzane wyjątki, takie jak wyjątek SQL, występują również podczas wykonywania programu. Dlaczego tylko te niezaznaczone zwane wyjątkiem środowiska wykonawczego? Prawdopodobnie nie rozumiem "środowiska uruchomieniowego".czy sprawdzane wyjątki zdarzają się w czasie wykonywania?

Dziękuję za wszelkie porady.

Odpowiedz

5

Rozumiem twoje zamieszanie. Wszystkie wyjątki występują w czasie wykonywania!

Jedynym powodem, dla którego mogę wymyślić nazwę klasy w ten sposób, jest to, że wyjaśnia, że ​​jest to wyjątek, że nie musi być rozpatrywany w czasie kompilacji.

W przeciwieństwie do wszystkich innych tak zwanych „zaznaczone” wyjątkami RuntimeExceptions nie wymaga od programisty zadeklarować wyjątek być wyrzucane za pomocą throws klauzuli.

2

RuntimeException to podklasa java.lang.Exception. RunTimeExceptions są prawie zawsze wynikiem błędu programistycznego lub/i niezmienników niezauważanych (Nulls są przekazywane, gdy nie powinny), więc nie musisz ich łapać jak java.lang.Exception (co jest Sprawdzane wyjątki). Nie łapiecie ich, ponieważ system Run Time niewiele może zrobić, aby dojść do siebie.

Wydaje mi się, że funtowe środowisko uruchomieniowe oznacza po prostu, że dzieje się, gdy program jest uruchomiony (oczywiście!) I zasadniczo kompilator nie wymusza na kontrole kodowania, jak w przypadku Checked Exceptions. Myślę, że jest to przykład tego, gdzie trudno jest odpowiednio nazwać klasę, np. Domyślam się, że mogą mieć wyjątki niezaznaczone domyślnie i nazwać je wyjątkami. Następnie poddaj ją podklasom, aby zapewnić wyjątek CheckedException - wszyscy wywołują wyjątek sprawdzany pod kątem java.lang.Exception, ale nie wynika to z nazwy klasy. Ale tak się nie stało i mamy:

> java.lang.Exception is referred to as "Checked Exception" 
> java.lang.RuntimeException is referred to as "Unchecked Exception" 
Powiązane problemy