单个异常处理程序用于多个可能的异常

本文关键字:异常 异常处理程序 用于 单个 | 更新日期: 2023-09-27 17:54:00

我想检查从c#数据库调用的结果,以确保…

  1. 返回的数据表不是NULL
  2. 数据表有行(DataTable. rows)。计数> 1)

如果这些条件中的任何一个为真,我想返回相同的异常,因为这种类型的结果不是预期的,应该总是有一些记录。有没有一种方法可以做到这一点,而不重复抛出异常语句?

if (myDataTable != null) 
{
  if (myDataTable.Rows.Count > 0) 
  {
    myRow = myDataTable.Rows[0];
  } 
  else 
  {
    throw new Exception("Problem obtaining data");
  }
} 
else 
{
  throw new Exception("Problem obtaining data");
}

我不需要区分这些异常

单个异常处理程序用于多个可能的异常

可能

if (myDataTable != null && myDataTable.Rows.Count > 0) 
{
    myRow = myDataTable.Rows[0];
} 
else 
{
    throw new Exception("Problem obtaining data");
}

不需要嵌套if语句

你可以简单地写:

if (myDataTable == null || myDataTable.Rows.Count == 0) 
{
    throw new Exception("Problem obtaining data");
} 
myRow = myDataTable.Rows[0];