Когда вы передаете обратный вызов в какой-либо форме другой функции, вам часто приходится заполнять какой-либо интерфейс, чтобы иметь возможность передать такой обратный вызов.Этот интерфейс обратного вызова часто ограничивает ваш тип исключений, которые вы можете генерировать.
Для меня самым естественным способом будет то, что вызываемая функция автоматически перебрасывает (или игнорирует) исключения, вызванные обратным вызовом.Т.е. он автоматически наследует список исключений, которые он может выбросить из обратного вызова.То есть, список исключений, который он может генерировать, является общим.
Возможно ли уже что-то подобное?Если да, то почему он еще не используется библиотекой Javas?
Если это пока невозможно, почему бы и нет?Не было бы сложно включить это в язык.И это сделало бы некоторые вещи более чистыми (см. Выше).
Один пример:
Я только что наткнулся на то, что Comparator.compare
не может выдать исключение (см. здесь для смежного вопроса) и Collections.sort
(или другие функции, использующие Comparator
) также нет.
Для меня было бы гораздо больше смысла, если бы исключения, которые Comparator.compare
может выдать,быть универсальным и Collections.sort
будет бросать точно так же.Это решило бы мою проблему здесь гораздо более естественным и чистым способом.