Есть ли разница между «бросить» и «бросить бывшего»?C#

Место общения программистов C#
Anonymous
Есть ли разница между «бросить» и «бросить бывшего»?

Сообщение Anonymous »

Уже есть сообщения, в которых задается вопрос, в чем разница между этими двумя понятиями.
(почему я вообще должен об этом упоминать...)

Но мой вопрос отличается тем, что я называю «выбросить ex» в другом божественном методе обработки ошибок.

Код: Выделить всё

public class Program {
public static void Main(string[] args) {
try {
// something
} catch (Exception ex) {
HandleException(ex);
}
}

private static void HandleException(Exception ex) {
if (ex is ThreadAbortException) {
// ignore then,
return;
}
if (ex is ArgumentOutOfRangeException) {
// Log then,
throw ex;
}
if (ex is InvalidOperationException) {
// Show message then,
throw ex;
}
// and so on.
}
}
Если в Main использовались try & catch, то я бы использовал throw;, чтобы повторно выдать ошибку.
Но в приведенном выше упрощенном коде все исключения проходят через HandleException

Выдает ли ex; тот же эффект, что и вызов throw при вызове внутри HandleException?>

Вернуться в «C#»