Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

TRY ​.​.​. CATCH

  • Last UpdatedApr 24, 2026
  • 2 minute read

TRY ... CATCH bietet eine Möglichkeit, einige oder alle möglichen Fehler, die in einem gegebenen Code-Block auftreten können, zu behandeln, während das Programm weiter läuft, als es abzubrechen. Der Teil TRY des Codes ist als Try-Block bekannt. Behandeln Sie etwaige Ausnahmen im Teil CATCH des Codes, der als Catch-Block bekannt ist.

Das allgemeine Format für TRY ... CATCH ist wie folgt:

TRY

[try statements] ’geschützter Bereich

CATCH

[Catch-Anweisungen]

ENDTRY

Wobei:

tryStatements

Anweisung(en), bei der/denen ein Fehler auftreten kann. Kann eine zusammengesetzte Anweisung sein. Die tryStatement ist ein geschützter Bereich.

catchStatements

Anweisungen(en) zur Behandlung von Fehlern, die im zugehörigen Try-Block auftreten können. Kann eine zusammengesetzte Anweisung sein.

Anweisungen innerhalb des Catch-Blocks können auf die reservierte ERROR-Variable verweisen, die eine .NET System.Exception ist, ausgeworfen vom Try-Block. Die Anweisungen im Catch-Block laufen nur, wenn eine Ausnahme vom Try-Block ausgeworfen wird.

TRY ... CATCH wird wie folgt ausgeführt:

  1. Die Laufzeit-Fehlerbehandlung startet mit TRY. Geben Sie Code, der zu einem Fehler führen könnte, in den Try-Block.

  2. Wenn kein Laufzeitfehler auftritt, läuft das Skript wie gewöhnlich. Die Anweisungen im Catch-Block werden ignoriert.

  3. Wenn ein Laufzeitfehler auftritt, wird der Rest des Try-Blocks nicht ausgeführt.

  4. Wenn ein Laufzeitfehler auftritt, springt das Programm sofort zur CATCH-Anweisung und führt den Catch-Block aus.

    Die einfachste Art der Ausnahmebehandlung ist es, das Programm anzuhalten, die Ausnahmemeldung herauszuschreiben und das Programm fortzusetzen.

    Die Fehlervariable ist keine Zeichenfolge, sondern ein .NET-Objekt der System.Exception. Dies bedeutet, dass Sie den Typ der Ausnahme bestimmen können, auch mit einer einfachen CATCH-Anweisung. Rufen sie die Methode GetType() auf, um den Typ der Ausnahme zu bestimmen, und führen Sie dann den gewünschten Vorgang aus, ähnlich der Ausführung mehrfacher Catch-Blöcke.

Beispiel:

dim command = new System.Data.SqlClient.SqlCommand;

dim reader as System.Data.SqlClient.SqlDataReader;

command.Connection = new System.Data.SqlClient.SqlConnection;

try

command.Connection.ConnectionString = "Integrated Security=SSPI";

command.CommandText="select * from sys.databases";

command.Connection.Open();

reader = befehl.ExecuteReader();

while reader.Read()

me.name = reader.GetString(0);

LogMessage(me.name);

endWhile;

catch

LogMessage(error);

endtry;

if reader <> null and not reader.IsClosed then

reader.Close();

endif;

if command.Connection.State == System.Data.ConnectionState.Open then

command.Connection.Close();

endif;

Hinweis: Im folgenden Codebeispiel wird die System.Data.SqlClient-Methode verwendet, die veraltet ist. Verwenden Sie stattdessen die SQLData-Skriptbibliothek für SQL Server-Abfragen.