Якщо вказати суфікс винятку для класів виключень, мені здається, що кодовий запах (надлишня інформація - решта імені передбачає стан помилки, і він успадковується від винятку). Однак також здається, що всі це роблять, і це здається гарною практикою.
Я хочу зрозуміти, чому це хороша практика.
Я вже бачив і читав питання, чому винятки, як правило, мають назву суфікса у назві класу
Питання стосується PHP, і хоча відповіді, ймовірно, дійсні для Java. Чи є якісь інші аргументи чи це насправді так просто, як явно їх диференціювати?
Якщо взяти приклади з попереднього питання - чи дійсно могли бути заняття в java з ім'ям, FileNoFound
яке не є винятком? Якщо це може бути, чи гарантує суфікс це Exception
?
Дивлячись на швидку ієрархію в затемненні Exception
, напевно, переважна більшість з них має суфікс винятку, але є кілька винятків. javassist
є прикладом бібліотеки, яка, здається, має кілька винятків без суфікса - наприклад BadByteCode
, BadHttpRequest
тощо.
BouncyCastle
це ще одна ліб з винятками на кшталт CompileError
Я трохи погуглився і трохи інформації з цього питання.
FileNotFound
ArrayIndexOutOfBounds
і OutOfMemory
більше спостережень / описів, але потім застосовуються до іменника Exception
.
Exception
суфікс, або ми повинні робити винятки для виняткових винятків?" ;)