C# &引用;“安全地”;在数据表中查找具有特定字段值的行
我试图使用非pk字段中的值“安全地”获取一行 我可以使用try-and-catch让它工作,但是我想使用try-and-catch,这样如果字段名不存在或者它找不到任何具有该值的行,它就不会使应用程序崩溃 然而,这反过来又填充了该方法,因为它现在表示所有路径都不会返回值 这是我的密码:C# &引用;“安全地”;在数据表中查找具有特定字段值的行,c#,.net,try-catch,C#,.net,Try Catch,我试图使用非pk字段中的值“安全地”获取一行 我可以使用try-and-catch让它工作,但是我想使用try-and-catch,这样如果字段名不存在或者它找不到任何具有该值的行,它就不会使应用程序崩溃 然而,这反过来又填充了该方法,因为它现在表示所有路径都不会返回值 这是我的密码: private DataRow getRowByFieldVal(DataSet DtaSet, string sorceTable, string fieldName, string fieldValue) {
private DataRow getRowByFieldVal(DataSet DtaSet, string sorceTable, string fieldName, string fieldValue)
{
try
{
DataRow[] foundRows = DtaSet.Tables[sorceTable].Select(fieldName + " = " + fieldValue);
return foundRows[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
编译器正在询问
如果try块中有错误,您希望返回什么?
想象一个用例
try块中有一些错误,因此catch开始执行,但由于此函数必须返回某些内容。那么,在这种情况下,返回什么呢。它将是null还是使用throw
抛出异常
所以你可以
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return null; //Add this line.
}
您不应该为此使用try-catch。如果找不到具有指定值的行,可以使用If进行检查。Try-catch用于可能引发异常的块。而不是
return foundrows[0];
首先检查是否有,然后退回
但要回答您的问题,捕获块也需要返回
return null;
或许