C# 使程序在每次引发异常时发出嘟嘟声
如何使我的控制台程序或服务:C# 使程序在每次引发异常时发出嘟嘟声,c#,exception,exception-handling,overriding,beep,C#,Exception,Exception Handling,Overriding,Beep,如何使我的控制台程序或服务: Console.Beep() 特定异常时发出嘟嘟声 编辑1:由于我正在处理已经包含数百个异常的遗留代码,因此在每个异常中添加Console.Beep()不是一个选项,更重要的是,考虑到存在过多的异常,它也不容易维护。使用Console.Beep()在try-catch块内。或者,如果您想要特定异常的嘟嘟声,请仅在您想要的异常被抛出时使用 try { // Your code that is likely to throw exception. } cat
Console.Beep()李>
- 特定异常时发出嘟嘟声
Console.Beep()
不是一个选项,更重要的是,考虑到存在过多的异常,它也不容易维护。使用Console.Beep()
在try-catch块内。或者,如果您想要特定异常的嘟嘟声,请仅在您想要的异常被抛出时使用
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.
}
每个异常都会发出嘟嘟声:
try
{
//...
}
catch
{
Console.Beep();
}
try
{
}
catch(InvalidOperationException ex)
{
Console.Beep();
}
特定异常时发出嘟嘟声:
try
{
//...
}
catch
{
Console.Beep();
}
try
{
}
catch(InvalidOperationException ex)
{
Console.Beep();
}
很简单,您可以将希望引发异常的代码放在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语句。如果您想知道异常何时抛出(与未捕获时相反),则可以在抛出异常时使用注册通知。,您正在寻找一个事件,例如抛出异常时正在执行的事件?如果是这样,有一个例子。当抛出异常时,您实现了希望执行的操作,在您的示例中是控制台。那么,当异常未处理时,情况如何?我认为即使异常未处理,事件仍会执行。