消息框错误已触发,但未引发异常

时间:2017-05-09 15:54:57

标签: c# wpf visual-studio

我正在编写一个WPF应用程序,在某些时候我必须将二进制文件反序列化为单例类。  一切都很好,除非我把一个MessageBox.Show()放在catch子句中,我会在触发的消息中出现。问题是我无法进行调试,并且Console.Writeline()不输出任何内容,而且我还尝试使用Application.Current.Shutdown()关闭应用程序,但应用程序仍在运行。

我的猜测是存在某种错误,我想知道导致问题的原因。

以下是代码:

    public void Deserialize(string filename)
    {
        BinaryReader br = null;
        try
        {
            br = new BinaryReader(new FileStream(filename, FileMode.Open));

            //Do deserialization
        }
        catch (Exception e)
        {
            MessageBox.Show(e.ToString(), "An error has occured while loading.", MessageBoxButton.OK, MessageBoxImage.Error); //message is being thrown with FileNotFound exception
            Console.WriteLine("An error occured:"  + e.ToString());//never prints
            Application.Current.Shutdown();//never closes application
        }
        finally
        {
            br?.Close();
        }
    }

这个问题似乎与VisualStudio有关,我使用的是2015年的企业版。但它并不总是会发生。

0 个答案:

没有答案