这两个代码示例是否相同?Catch and Catch(Exception e)具有相同的输出,如果我写Throw或Throw e,结果也是相同的.
主要:
try
{
A();
//B();
}
catch (Exception e)
{
Console.WriteLine("{0} exception caught.", e);
}
Run Code Online (Sandbox Code Playgroud)
代码1:
static void A()
{
try
{
int value = 1 / int.Parse("0");
}
catch (Exception e)
{
throw e;
}
}
Run Code Online (Sandbox Code Playgroud)
代码2:
static void A()
{
// Rethrow syntax.
try
{
int value = 1 / int.Parse("0");
}
catch
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud) 我有多个asp.net网络应用程序服务于一组文件.在提供文件之前,会定期更新文件,但如果文件正在使用,则无法更新文件.
我可以通过使用命名的互斥锁解决此问题,其中名称是文件路径(当然替换无效字符).我在其他情况下使用过这个,但你可以看到效率低下.一次只能有一个进程提供文件.
读取器/写入器锁是完美的,但它们被设计为在单个进程中工作.另外,我必须为每个可能更新的文件创建一个读取器/写入器锁,并且有很多.
我真正需要的是一个可以像互斥锁一样命名的读/写锁.有这样的事吗?或者可以使用现有的锁创建这样的东西?