none
win8 metro app 中如何全局处理未catch的异常 RRS feed

  • 问题

  • 在程序中有些异常,并未catch处理(包括多线程的),导致win8 metro app直接推出,我如何处理这种情况,不让app crash呢?


    public App()
            {
                this.InitializeComponent();
                this.Suspending += OnSuspending;
                this.UnhandledException += App_UnhandledException;
               
            }
    void App_UnhandledException(object sender, UnhandledExceptionEventArgs e)
            {
                e.Handled = true;
                ExceptionHandler.HandleException(new Exception(e.Message, e.Exception));
            }

    如果有一个async void 方法抛出异常,并不进入到App_UnhandledException里边,而是process直接crash 了


    public

    async void

    Test()

    {

        throw

    new 
    Exception("boo");

    }

    2013年8月12日 1:17

答案

全部回复