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

时间:2015-06-05 15:30:21

标签: c# exception

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

  1. 返回的DataTable为NOT NULL
  2. DataTable有行(DataTable.Rows.Count> 1)
  3. 如果这些条件中的任何一个为真,我想返回相同的异常,因为不期望这种类型的结果,应该总是有一些记录。有没有办法在不重复抛出异常声明的情况下执行此操作?

    // Init GTK+.
    gtk_init(&argc, &argv);
    
    // Create new GtkBuilder object from file.
    builder = gtk_builder_new_from_file(glade_filename_app);
    if (builder == NULL) {
        g_warning("Could not create builder from %s", glade_filename_app);
        return 1;
    }
    // Add menu bar for PC menu bar (default) from file.
    if (!gtk_builder_add_from_file(builder, glade_filename_menu_pc, &error))    {
        g_warning("%s", error->message);
        g_free(error);
        return 1;
    }
    

    出于我的目的,我不需要区分这些例外。

2 个答案:

答案 0 :(得分:4)

也许

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

您不需要嵌套if语句

答案 1 :(得分:3)

你可以写一下:

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