Какой термин для ловли и отбрасывания Java-исключения? - PullRequest
4 голосов
/ 15 августа 2011

Кажется, я помню очень специфический термин для таких ситуаций:

try {
  operation();
} catch (SomeException se) {
  throw new OtherException(se);
}

-или-

try {
  operation();
} catch (SomeException se) {
  throw new OtherException("new message, forget original exception");
}

и я бы хотел использовать этот правильный термин в некоторых документах. Может кто-нибудь, пожалуйста, потрясти мою память?


РЕДАКТИРОВАТЬ: Как я понимаю ссылка, цитируемая JB Nizet, сцепление является актом передачи исходного исключения в конструктор нового, так что трассировка стека будет включать исходное. Но это не концепция, которую я ищу. Извините, если мой вопрос так и сбил с толку.

Ответы [ 7 ]

4 голосов
/ 15 августа 2011

В ответ на ваше редактирование: в этом случае вы просто «выбрасываете» исключение.Так уж получилось, что его бросили в блок улова.Вместо использования потенциально запутанной терминологии, такой как «преобразование» (которое, я думаю, подразумевает мутацию, а не что-то новое), я предлагаю вам просто сказать, что вы делаете явно.


Вы «оборачиваете»поймал исключение с другим.Другой термин для этого - «цепочка исключений»

Обратите внимание, что повторное выбрасывание исключения отличается тем, что вы не создаете новое исключение, просто перехватываете его, чтобы сделать некоторую запись (или что-то еще), а затем выбрасываете его снова.Для демонстрации:

try {
  operation();
}
catch (SomeException se) {
  throw se;
}
3 голосов
/ 15 августа 2011

Это называется повторным броском или переводом исключения для согласования различных API с абстрактным (часто это делается в рамках весны).

2 голосов
/ 15 августа 2011

Упаковка исключений или цепочка исключений

2 голосов
/ 15 августа 2011

Я использую «rethrow» безо всякого стыда.

В любом случае, вы инкапсулируете исключение внутри нового.

1 голос
/ 15 августа 2011

Также называется

Исключительная цепочка

1 голос
/ 15 августа 2011

То, что вы делаете, обычно называется «цепочка исключений» . Я был представлен в Java 1.4 .

1 голос
/ 15 августа 2011

Мне кажется, я видел, что это называется упаковкой исключения.Извините, если это не тот термин, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...