从捕获中排除异常类型的最佳方法是什么?
本文关键字:最佳 方法 是什么 类型 异常 排除 | 更新日期: 2023-09-27 18:18:13
从捕获中排除异常类型的最佳方法是什么?你可能不知道什么类型的异常会出现,所以你的一个捕获可能是泛型捕获(Exception ex),你可以很容易地检查异常的类型,如果它与你想要排除的异常匹配,然后把它扔回去,但我猜这是非常低效的。有更好的方法吗?
最直接的方法是为不想捕获的异常设置一个块:
try {
// ....
} catch (DoNotWantToCatchException) {
throw;
} catch (Exception ex) {
// Handle exception
}
没有比这更简单的方法了
非常奇怪的要求。但是你可以捕获这种特殊的异常类型并重新抛出它
try
{
// code
}
catch(YourSpecificException e)
{
throw;
}
// catch other exceptions here (which you want to handle)
为它创建一个单独的catch,例如:
try
{
//do stuff
}
catch (exception to exclude ex)
{
//do stuff
}
catch (Exception ex)
{
//do stuff
}