Pas de problème (pb), que du PowerBuilder (PB) ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 23-04-2009 07:06:13

le_gone_de_lyon  
Membre Geek
Lieu: LYON
Date d'inscription: 12-09-2006
Messages: 64
Pépites: 203
Banque: 0

[RESOLU] Interception des erreurs avec PB

Bonjour,

Je travaille avec PB10.

J'ai besoin pour un traitement precis d'intercepter une erreur (error.number = 2 => null object reference ....)

Au niveau de l'application, nous utilisons l'evenement <systemerror()> pour intercepter les erreurs (affichage + arret de l'application)

Pour ce traitement precis, je voudrais recuperer l'erreur 2 pour afficher un message mais continuer l'application.

A priori, je peux utiliser l'instruction <TRY-CATCH> mais je ne sais pas la syntaxe dans le CATCH.

J'ai fais un essai en codiant le TRY et en utilisant FINALLY pour coder mon message, cela marche mais l'événement <systemerror()> se déclenche après et arrete le traitement.

Connaissez vous la manière d'utiliser TRY-CATCH-FINALLY (pas d'exemple dans PB)

Cordialement

Le gone de Lyon

Dernière modification par le_gone_de_lyon (23-04-2009 08:40:46)

Hors ligne

 

#2 23-04-2009 07:50:28

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Interception des erreurs avec PB

Bonjour,

Code: pb

TRY
   
   // le traitement
   
CATCH ( RunTimeError rte )

   MessageBox( 'Erreur', rte.GetMessage() ) 

FINALLY

   // nettoyage

END TRY


Pour que cela fonctionne dans l'IDE PB : Menu Tools > System Options > General > Just In Time Debugging à décocher


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 23-04-2009 08:13:24

le_gone_de_lyon  
Membre Geek
Lieu: LYON
Date d'inscription: 12-09-2006
Messages: 64
Pépites: 203
Banque: 0

Re: [RESOLU] Interception des erreurs avec PB

Bonjour,

Merci pour ta réponse erasorz.

Je viens de tester la syntaxe, c'est OK

Mais j'intercepte toutes les erreurs, or je voudrais intercepter seulement l'erreur 2 (rte.number = 2) pas les autres.

Comment le preciser dans le CATCH ?

Pour les autres erreurs, j'ai l'evenement <systemerror> au niveau du projet !!!!!!!!

Cordialement

Le gone de lyon

Hors ligne

 

#4 23-04-2009 08:18:58

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Interception des erreurs avec PB

peut-être en codant un truc dans le genre :

Code: pb

TRY
   
   // le traitement
   
CATCH ( RunTimeError rte )

   If rte.number = 2 Then

      MessageBox( 'Erreur', rte.GetMessage() ) 

   Else

      Throw rte

   End If

FINALLY

   // nettoyage

END TRY

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 23-04-2009 08:40:24

le_gone_de_lyon  
Membre Geek
Lieu: LYON
Date d'inscription: 12-09-2006
Messages: 64
Pépites: 203
Banque: 0

Re: [RESOLU] Interception des erreurs avec PB

Bonjour,

   Merci erasorz

   C'est Parfait

Cordialement

Le gone de Lyon

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22