- 1
- 2
- 3
public static RuntimeException propagate(Throwable throwable)
This method always throws an exception. The RuntimeException return type is only for client code to make Java type system happy in case a return value is required by the enclosing method.
гуава такая гуава
как говорится, либо крестик, либо трусы.
в таком контексте, нолик - очень даже символичен...
fxd
сумма вознаграждения не определена. в результате вы получите дырку от нолика
У меня тут код есть, который конвертирует IOException в RuntimeException а потом выше по цепочке RuntimeException в IOException.
олсо полезно борманду
где?
а трюк с кастом - известный.
кто большие дураки - те, кто не умеет обрабатывать исключения, или те, кто кто по умолчанию всех считает дураками и защищает первых от самих себя?
и как закономерный результат: костыли, которые решают проблемы костылей и т.д. рекурсивно.
Что это?
короче, извращение на тему "как превратить checked exceptions в unchecked c последующим выбросом"
кстати, забавная штука произойдет, если мы не словим какой-нить серьезный чекед - вылетит же до обработки виртуалкой, а это - вылет проги либо ее зависон.
Где о такой записи почитать?
Лучше @EventHorizonUnfoldsUnto({hawkinsRadiati onValue=0.0000e-100}), ну и еще пару аттрибутов придумать, чтобы за 80 символов перевалило, а то форматирование пострадает.
Т.е. надо либо переделывать класслоадер, чтобы он сверял флажок noreturn'а, как он сейчас это делает с final.
Либо добавлять в конец веток, в которых управление не возвращают явно (т.к. они заканчиваются noreturn функцией) неявный throw new RuntimeException("Кровь-кишки-распидорасило! Функция с @noreturn вернула управление!").
Видимо поэтому и не делают.