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"