Это так же просто, как использование простого оператора throw
.
throw;
в соответствующем блоке улова. Обратите внимание, что это выгодно по сравнению с throw e;
, потому что сохраняет стек вызовов в точке исключения.
Конечно, это не автоматизировано в том смысле, в каком вы хотите, но, к сожалению, это невозможно. Это в значительной степени лучшее решение, которое вы получите, и все же, я думаю, довольно простое. ThreadAbortException
особенный в CLR, потому что он почти присущ управлению потоками.
В случае вашей программы у вас будет что-то вроде:
namespace Program
{
class ReJoice
{
public void End()
{
throw new Exception();
}
}
class Program
{
static void Main(string[] args)
{
try
{
ReJoice x = new ReJoice();
x.End();
}
catch (Exception e)
{
throw;
}
}
}
}