如果您有一个用户不知道数据类型的蛮力搜索,那么我们可以做这样的事情吗?
if (search.Length > 0 && comboBox1.Text.Equals("Data Type Not Known"))
{
try
{
ParentGraph p = new ParentGraph(search);
}
catch (NoDataFoundException ndfe)
{
//it fails so try different data type
try
{
CompoundGraph c = new CompoundGraph(search);
}
catch(NoDataFoundException ndfe)
{
//failed so try final type
try
{
BatchGraph b = new BatchGraph(search);
}
catch(NoDataFoundException ndfe)
{
MessageBox.Show("Data could not be linked to a particular search")
}
}
}
}
最佳答案
这会起作用,但它在两个方面很丑陋:
List<T>
,例如List<Func<string, object>>
并依次尝试每个工厂委托(delegate)? TryGetData
返回值的 bool
(或者可能只是一个元组返回值)。处理这个有异常(exception)的流程对我来说并不合适。 关于c# - 在这种情况下,嵌套的 try 捕获是否合理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5816457/