Określenie sufiksu wyjątku w klasach wyjątków wydaje mi się zapachem kodu (informacja redundantna - reszta nazwy oznacza stan błędu i dziedziczy po wyjątku). Wydaje się jednak, że wszyscy to robią i wydaje się to dobrą praktyką.
Chcę zrozumieć, dlaczego jest to dobra praktyka.
Widziałem już i czytałem pytanie, dlaczego wyjątki mają zazwyczaj sufiks wyjątek w nazwie klasy
Pytanie dotyczy PHP i chociaż odpowiedzi są prawdopodobnie poprawne dla Javy. Czy są jakieś inne argumenty, czy naprawdę jest tak proste, jak ich wyraźne różnicowanie?
Jeśli weźmiemy przykłady z poprzedniego pytania - czy naprawdę mogą istnieć klasy w java o nazwie, FileNoFound
która nie jest wyjątkiem? Jeśli istnieje, czy uzasadnia to jego dodanie Exception
?
Patrząc na szybką hierarchię w zaćmieniu, z Exception
pewnością ogromna większość z nich ma sufiks wyjątku, ale jest kilka wyjątków. javassist
jest przykładem biblioteki, który wydaje się mieć kilka wyjątków bez przyrostka - na przykład BadByteCode
, BadHttpRequest
itd.
BouncyCastle
to kolejna lib z wyjątkami takimi jak CompileError
Przeszukałem też trochę z niewielkimi informacjami na ten temat.
FileNotFound
ArrayIndexOutOfBounds
i OutOfMemory
są więcej obserwacji / opisów, ale są następnie stosowane do rzeczownika Exception
.
Exception
opatrzone przyrostkiem, czy też powinniśmy robić wyjątki od wyjątków?” ;)