Avatar billede frostholm Praktikant
22. juni 2009 - 16:13 Der er 5 kommentarer og
1 løsning

Exceptions - windows app

Er det muligt at fange alle exceptions i en windows app som ikke i forvejen er fanget af try/catch kodet i applikationen.

hilsen
michael frostholm
Avatar billede hmortensen Nybegynder
22. juni 2009 - 16:22 #1
Du kan lave en try catch i Main().
Avatar billede sirius Nybegynder
22. juni 2009 - 17:39 #2
Hvis det er mens du debugger, kan du sætte visual studio op til at breake ved alle exceptions
Avatar billede martinbk Nybegynder
22. juni 2009 - 17:51 #3
som hmortensen siger pak din Application.Run() (i main()) ind i en try catch

[STAThread]
static void Main()
{
  try {
    Application.Run(new Form1());
  }
  catch(Exception e) {
    Messagebox.Show("Der opstod en fejl:"+ e.Message");
  }
}
Avatar billede frostholm Praktikant
22. juni 2009 - 17:53 #4
tak skal i have
Avatar billede tjacob Juniormester
22. juni 2009 - 18:07 #5
-Men du tog selv points?
Avatar billede aaberg Nybegynder
23. juni 2009 - 13:36 #6
Faktisk vil martinbk's forslag ikke virke. Du kan ikke bruge try-catch rundt om Application.Run().

Brug i stedet ThreadException eventet på Application klassen. Her er et eksempel:

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
            Application.Run(new Form1());
        }

        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            MessageBox.Show("Vis fejlmeddelelse: " + e.Exception.Message);
        }
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester