Gestion des erreurs - Try except [Résolu]

Messages postés
192
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
2 octobre 2014
- 18 août 2010 à 12:18 - Dernière réponse :
Messages postés
192
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
2 octobre 2014
- 18 août 2010 à 16:13
Bonjour,

Dans l'initialisation de mon appli, je me connecte à une base. En cas d'erreur, je souhaite afficher le message d'erreur remonté par le raise de Connection_Base, puis fermer l'application.

J'ai fait ceci mais ça ne fonctionne pas

try
Connection_Base;
except
on E : Exception do showmessage(E.message);
MonApplication.Close;
end;

Comment faire ??

Merci pour votre aide.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 18 août 2010 à 13:08
3
Merci
Salut,

oui ici il n'y a que Application.Terminate qui fonctionne

[hr]@+Cirec
[hr]

Merci Cirec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Cirec
Messages postés
192
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
2 octobre 2014
- 18 août 2010 à 12:44
0
Merci
Zut, j'avais oublié le begin end !!

try
Connection_Base;
except
on E : Exception do
begin
showmessage(E.message);
MonApplication.Close;
end;
end;

Par contre ce bloc est situé dans MonApplication.FormCreate et l'appli ne ce ferme pas ?

Il faut que j'utlise application.terminate puisque dans le projet y'a Application.Run après le Application.CreateForm, c'est cela ?
Commenter la réponse de jderf
Messages postés
192
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
2 octobre 2014
- 18 août 2010 à 13:59
0
Merci
Slt Cirec,

Merci pour la confirmation.
Commenter la réponse de jderf
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 18 août 2010 à 14:10
0
Merci
Pardon

grosse bétise:
[hr][b]uses

  /bWindows, // for IDOK
  Dialogs, // for MessageDlg
  Forms,
  Main in 'Main.pas' {MainFiche};

{$R *.res}

[b]begin
  /bApplication.Initialize;
  Application.CreateForm(TMainFiche, MainFiche);
  if MessageDlg('continuer ?', mtConfirmation, mbOKCancel, 0) <> IDOK [b]then
    /bMainFiche.Close;
  Application.Run;
end.
[hr]
fonctionne très bien


[hr]@+Cirec
[hr]
Commenter la réponse de Cirec
Messages postés
192
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
2 octobre 2014
- 18 août 2010 à 16:13
0
Merci
Tiens ça me donne une idée.
Je faisais la verif de la connexion avec la BD dans le from.create de la form principale mais dans le dpr c'est mieux !

// Création et affichage du splashScreen
FrmSplashScreen:=TFrmSplashScreen.Create(Application);
FrmSplashScreen.Show;
FrmSplashScreen.Update;

// ---- Vérification de la conformité de la licence ----
if not(ValideLicence('Licence.txt',4,20,50,85,110)) then
begin
// ---- Connexion à la base de données ----
try
Connection_Base;
except
on E : Exception do
begin
showmessage(E.message);
FrmSplashScreen.Hide;
FrmSplashScreen.Close;
FrmSplashScreen.Free;
end;
end;
// Licence et base de données OK --> pousuite du lancement

// Init de la form principale
Application.Initialize;
Application.CreateForm(TForm1, Form1);

// Pause et destruction du splashscreen
Sleep(1000);
FrmSplashScreen.Hide;
FrmSplashScreen.Close;
FrmSplashScreen.Free;

// Lancement du reste de l'appli
Application.Run;
end
else
begin
// PAS DE LICENCE - Fermeture sans message
Sleep(300);
FrmSplashScreen.Hide;
FrmSplashScreen.Close;
FrmSplashScreen.Free;
end;
Commenter la réponse de jderf

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.