相关疑难解决方法(0)

C#"最终"阻止总是执行吗?

可能重复:
如果我在Try块中返回一个值,是否会触发Finally语句中的代码?

请考虑以下代码C#代码."finally"块是否执行?

public void DoesThisExecute() {
   string ext = "xlsx";
   string message = string.Empty;
   try {
      switch (ext) {
         case "xls": message = "Great choice!"; break;
         case "csv": message = "Better choice!"; break;
         case "exe": message = "Do not try to break me!"; break;
         default:
            message = "You will not win!";
            return;
      }
   }
   catch (Exception) {
      // Handle an exception.
   }
   finally {
      MessageBox.Show(message);
   }
}
Run Code Online (Sandbox Code Playgroud)

哈,在我写完这篇文章之后,我意识到我本可以在Visual Studio中自己测试过.但是,请随时回答!

c# try-catch

68
推荐指数
5
解决办法
8万
查看次数

在try/catch/finally中"finally"的目的是什么

语法将从语言变为语言,但这是一个普遍的问题.

这有什么区别....

try
{
     Console.WriteLine("Executing the try statement.");
     throw new NullReferenceException();
}
catch (NullReferenceException e)
{
     Console.WriteLine("{0} Caught exception #1.", e);
}       
finally
{
     Console.WriteLine("Executing finally block.");
}
Run Code Online (Sandbox Code Playgroud)

还有这个....

try
{
    Console.WriteLine("Executing the try statement.");
    throw new NullReferenceException();
}
catch (NullReferenceException e)
{
    Console.WriteLine("{0} Caught exception #1.", e);
}        
Console.WriteLine("Executing finally block.");
Run Code Online (Sandbox Code Playgroud)

我一直看到它被使用,所以我认为有一个很好的理由最终使用,但我无法弄清楚它是如何只是在声明之后放置代码,因为它仍然会运行.

有没有最终没有运行的场景?

javascript c# exception-handling finally

21
推荐指数
3
解决办法
5109
查看次数

.NET会停止调试运行finally块中的代码吗?

好吧,我已经阅读(并了解到)finally块并不总是执行其代码(甚至除了拔插头之外).
仅供参考.有关更多信息,请参阅try catch finally问题

但是,我没有找到:
当我停止调试器时,我的finally块是否会被执行?

谢谢!

.net c# vb.net debugging finally

4
推荐指数
1
解决办法
566
查看次数

关闭表单按钮事件

在我的应用程序中,首先向用户显示登录屏幕,登录后显示的表单具有菜单栏.在该菜单栏上有两个项目:"注销"和"退出".如果用户选择注销选项,我希望它返回上述登录屏幕.如果用户决定单击"退出",我会提示用户是否确定要退出.不幸的是,当用户通过单击窗口上的"X"按钮决定关闭程序时,它仅关闭当前表单.我的意图是关闭整个应用程序.

基本上,我需要知道如何通过拦截表单关闭事件来退出当前应用程序.

在注销项目条带代码是:

 private void logoutToolStripMenuItem_Click(object sender, EventArgs e)
 {
     Form_Login log = new Form_Login();
     this.Close();
     log.Show();
 }
Run Code Online (Sandbox Code Playgroud)

在退出项目下条形码是:

 private void exitToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Are You Sure To Exit Programme ?","Exit",MessageBoxButtons.OKCancel)== DialogResult.OK)
     {
         Application.Exit();
     }
 }
Run Code Online (Sandbox Code Playgroud)

当我单击退出按钮它关闭当前表单,我想关闭整个应用程序

c# winforms

3
推荐指数
1
解决办法
13万
查看次数

finally块中的语句

可能重复:
尝试抓住最后的问题

如果未捕获异常,则执行代码语句

try
{
  throw new Exception("test example");    
}

finally
{
  Console.WriteLine("finally block"); 
}
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
95
查看次数