c# - 多个可能的异常的单个异常处理程序

标签 c# exception

我想检查 C# 数据库调用的结果以确保..

  1. 返回的数据表不为空
  2. DataTable 有行 (DataTable.Rows.Count > 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 语句

关于c# - 多个可能的异常的单个异常处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30670409/

相关文章:

c# - 如何在 C# 中获取有关委托(delegate)函数实例的信息(如名称或包含类)?

c# - 使用 EPPlus 进行条件格式化

c# - 在静态代码分析中对 .cs 文件使用 HP Fortify

c# - 如何在 Visual Studio 中启动一个对象

c# - KinectSensor.DepthStream.OpenNextFrame 返回 NULL

android - context 在 android 2.1 中出现异常

c# - 为什么在列表上调用 Sort(IComparer) 时会出现 System.ArgumentException?

java sql错误列的类型是整数,但表达式的类型是字符变化

c++ - 创建 CFrameWnd 会给出第一次机会异常——为什么?

java - 无法弄清楚为什么它会抛出 ConcurrentModificationException