如何捕获类型中的异常
本文关键字:异常 类型 何捕获 | 更新日期: 2023-09-27 17:56:20
来自
Scala 背景,我真的很喜欢scala.util.Try
成语,它使您能够在保持安全的同时编写更少的 try-catch 代码。
下面是一个示例用例:
public static bool ConnectedToDB()
{
var cmd = new SqlCommand(@"select count(*) from SomeTable (nolock)");
try
{
Execute<int>(cmd, DBConnctionString);
}
catch
{
return false;
}
return true;
}
如果我能写就好了:
public static bool ConnectedToDB()
{
var cmd = new SqlCommand(@"select count(*) from SomeTable (nolock)");
return new Try(Execute<int>(cmd, DBConnctionString)).IsSuccess();
}
是否有为 C# 提供类似类型的库?
我知道我可以自己写这个,但我宁愿重用已知/现有的解决方案。
自己编写这样的方法很容易:
public static bool Try(Action action)
{
try
{
action();
return true;
}
catch { return false; }
}
这允许您编写:
public static bool ConnectedToDB()
{
var cmd = new SqlCommand(@"select count(*) from SomeTable (nolock)");
return Try(() => Execute<int>(cmd, AD_SMDBConnctionString));
}