В качестве очень общего способа определения, следует ли вам когда-либо создавать класс (а исключением является класс), вы должны определить, существует ли какой-либо код, который делает этот класс уникальным среди всех других классов (в данном случае исключения).
Если нет, я бы просто установил строку в исключении и назвал бы ее днем. Если вы выполняете код в своем исключении (возможно, общий механизм восстановления, который может обрабатывать несколько ситуаций, вызывая exception.resolve () или что-то в этом роде), то это может быть полезно.
Я понимаю, что исключения не всегда следуют этому правилу, но я думаю, что это более или менее потому, что исключения, предоставляемые языком, не могут содержать бизнес-логику (потому что они не знают бизнес - библиотеки всегда как правило, полны исключений из правил ОО)