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 sont deux instructions permettant de gérer toutes ou en partie les erreurs qui se produisent dans un bloc de code, en continuant l'exécution au lieu de quitter le programme. La partie de code introduite par TRY est le bloc de code à exécuter. Les exceptions sont capturées par la partie de code CATCH.

La forme générale du bloc TRY … CATCH est la suivante :

TRY

[instructions_try] 'section protégée

CATCH

[instructions_catch]

ENDTRY

Où :

Instructions_try

Instructions où une erreur peut se produire. Il peut s'agir d'une instruction combinée. Le code instructions_try est une section protégée.

Instructions_catch

Instructions pour gérer les erreurs qui se produisent dans le bloc Try associé. Il peut s'agir d'une instruction combinée.

Les instructions à l'intérieur du bloc Catch peuvent référencer la variable réservée ERROR de l'exception System.Exception de .NET, générée par le bloc Try. Les instructions du bloc Catch ne s'exécutent qu'en cas d'exception générée dans le bloc Try.

TRY … CATCH s'exécute comme ceci :

  1. Le contrôle des erreurs d'exécution commence par TRY. Ajoutez du code susceptible de produire une erreur à l'intérieur du bloc Try.

  2. En l'absence d'erreur d'exécution, le script s'exécute normalement. Les instructions du bloc Catch sont alors ignorées.

  3. Quand une erreur d'exécution se produit, le instructions restantes du bloc Try ne sont pas exécutées.

  4. En cas d'erreur d'exécution, le programme saute immédiatement à l'instruction CATCH et exécute le bloc.

    La façon la plus simple de gérer une exception est de stopper le programme, écrire un message d'exception puis continuer le programme.

    La variable d'erreur n'est pas une chaîne mais un objet .NET System.Exception. Cela permet de déterminer le type of exception, même avec une simple instruction CATCH. Appelez la méthode GetType() pour déterminer le type d'exception puis réalisez l'opération souhaitée, de manière similaire à l'exécution de plusieurs blocs Catch.

Exemple :

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

dim leLecteur as System.Data.SqlClient.SqlDataReader;

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

try

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

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

laCommande.Connection.Open();

leLecteur = laCommande.ExecuteReader();

WHILE leLecteur.Read()

me.name = leLecteur.GetString(0);

LogMessage(me.name);

ENDWHILE;

CATCH

LogMessage(uneErreur);

ENDTRY;

if leLecteur <> null and not leLecteur.IsClosed then

leLecteur.Close();

endif;

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

laCommande.Connection.Close();

endif;

Remarque : L’exemple de code précédent utilise la méthode System.Data.SqlClient, qui est obsolète. Au lieu de cela, utilisez la bibliothèque de scripts SQLData pour les requêtes SQL Server.