Почти никогда нет веских причин для этого. контракт toString () не говорит, что допустимо генерировать исключение из этого метода. Любой код, который генерирует исключение, является неработающим кодом, и такое исключение необходимо раскрывать и исправлять, а не подавлять.
В случае, когда вы конвертируете некоторый «плохой» объект из библиотеки, которая находится вне вашего контроля, в строку, может быть целесообразно написать catch (RuntimeExcepton e)
, но такой улов должен сопровождаться комментариями, которые описывают в подробно, почему это необходимо, потому что в нормальных условиях это не нужно.
Не обращайте внимания на методы toString, генерирующие исключения, обратите внимание, что в Java уже есть по крайней мере два «безопасных» способа преобразования возможно нулевого значения в строку:
Objects.toString(obj, null)
String.valueOf(obj)
… поэтому я хотел бы задать вопрос, должен ли вообще существовать метод safeToString.