2017-01-07 4 views
2

Ich habe eine Button, die drei Methoden ausgeführt wird, wenn geklickt haben:Ein Catch für alle Methoden in Try?

Try 
    Label1.Text = "Please wait..." 

    RunMethod1() 
    RunMethod2() 
    RunMethod3() 

    Label1.Text = "Success!" 
Catch ex As Exception 
    Label1.Text = "Something wrong happened!" 
End Try 

Momentan werden alle Fehler in der Visual Studio IDE angezeigt ('Exception wurde durch Benutzercode unbehandelt). Es gibt keine Try-Catch Blöcke innerhalb dieser drei Methoden.

Wie bekomme ich das "Etwas ist passiert!" angezeigt in der Label immer wenn eine Ausnahme innerhalb einer der drei Methoden auftritt?

+0

Dieser Code die Console.WriteLine() mit Ihrem Label.text ersetzen muss die Arbeit machen. Haben Sie einen Fehler? Vielleicht könnten Sie eine Variable "msg" definieren, um Text beizubehalten und die Beschriftung einmal zu setzen. Schließlich versuchen Sie/catch Block – Mate

+1

Ihr Code ist korrekt, es sei denn, es gibt etwas anderes, was Sie wollen, dass wir tun. –

+0

Was heißt es wurde nicht behandelt? Dies sollte wie geschrieben korrekt sein. – EJoshuaS

Antwort

1

Es ist so einfach wie in C#.

static void Main(string[] args) 
    { 
     try 
     { 
      Method1(); 
      Method2(); 
      Method3(); 
      Console.WriteLine("Success"); 
     } 
     catch (Exception e) 
     { 
      Console.WriteLine("Something wrong happened!"); 
     } 
     Console.ReadLine(); 
    } 
    private static void Method1() 
    { 
     Console.WriteLine("Here is one"); 
    } 
    private static void Method2() 
    { 
     Console.WriteLine("Here is two"); 
     string foo = null; 
     foo.ToUpper(); 
    } 
    private static void Method3() 
    { 
     Console.WriteLine("Here is three"); 
    } 

Natürlich

1

**** diesen Code verwenden ****

try 
    { 
    Label1.Text = "Please wait..."; 

    RunMethod1(); 
    RunMethod2(); 
    RunMethod3(); 

    Label1.Text = "Success!"; 
    } 
    catch(Exception ex) 
    { 
    Label1.Text = "Something wrong happened!"; 
    } 
} 

private void RunMethod1() 
{ 
    throw new NotImplementedException(); 
} 

private void RunMethod2() 
{ 
    throw new NotImplementedException(); 
} 

private void RunMethod3() 
{ 
    throw new NotImplementedException(); 
}