在多个方法之间抛出异常时,是否所有方法都会抛出异常?例如C#抛出异常
Method1()
{
Method2();
}
Method2()
{
try
{
// Do something
}
catch
{
throw;
}
}
try
{
Method1();
}
catch
{
// Do something about exception that was thrown from Method2()
}
请注意,在Method1()
,我并不需要在try
块包裹Method2()
,我应该是什么?
+1:简洁准确。我会添加一个不完全“重新抛出”的原因 - 在不同的异常中包装异常(但始终将原始异常保留在InnerException中,否则会丢失有助于调试的原始异常的信息)。包装可能会导致重新投掷不能的其他背景,例如“无法保存客户843的新订单,请参阅InnerException获取详细信息。” –