在每个引发的异常时发出程序蜂鸣声

时间:2014-05-03 14:55:24

标签: c# exception exception-handling override beep

如何将我的控制台程序或服务设置为:

    每个例外都有
  • Console.Beep()
  • 特定例外的哔声?

编辑1:当我正在处理包含数百个例外的遗留代码时,在每个代码中添加Console.Beep()都不是一种选择,而且最重要的是它也不易维护,考虑到过多的现有例外情况。

4 个答案:

答案 0 :(得分:2)

如果你想知道什么时候抛出(而不是什么时候没有被捕获),看起来你可以使用AppDomain.FirstChanceException event来注册通知抛出异常的地方。

答案 1 :(得分:1)

好吧,只是你可以把你期望的代码放在try catch块中抛出异常,如下所示:

try
{
     // your code here
}
catch (Exception) // this goes to every single exception, if you want to beep on a specific one just replace the Exception with the exception you expect e.g NullReferenceException
{
     Console.Beep();
     throw;
} 

如果您不希望在发生异常时看到异常,只需从catch块中删除throw语句。

答案 2 :(得分:0)

使用try catch块中的Console.Beep()。或者,如果您希望特定异常发出蜂鸣声,请仅在抛出所需的异常时使用它。

try
{
    // Your code that is likely to throw exception.
}
catch (InvalidCastException e)
{
    // Beep when invalid cast.
    Console.Beep();
}
catch (NullReferenceException e)
{
    // Don't beep on the null reference. 
}

答案 3 :(得分:0)

每个例外都会发出嘟嘟声:

try
{
    //...
}
catch
{
    Console.Beep();
}

特定异常时发出哔声:

try
{

}
catch(InvalidOperationException ex)
{
    Console.Beep();
}