FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
demande retour d'un code d'erreur dans une fonction Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
demande retour d'un code d'erreur dans une fonction Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
demande retour d'un code d'erreur dans une fonction Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
demande retour d'un code d'erreur dans une fonction Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
demande retour d'un code d'erreur dans une fonction Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
demande retour d'un code d'erreur dans une fonction Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
demande retour d'un code d'erreur dans une fonction Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
demande retour d'un code d'erreur dans une fonction Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
demande retour d'un code d'erreur dans une fonction Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
demande retour d'un code d'erreur dans une fonction Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
demande retour d'un code d'erreur dans une fonction Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
demande retour d'un code d'erreur dans une fonction Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
demande retour d'un code d'erreur dans une fonction Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
demande retour d'un code d'erreur dans une fonction Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
demande retour d'un code d'erreur dans une fonction Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier

 

 demande retour d'un code d'erreur dans une fonction

Aller en bas 
2 participants
AuteurMessage
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

demande retour d'un code d'erreur dans une fonction Empty
MessageSujet: demande retour d'un code d'erreur dans une fonction   demande retour d'un code d'erreur dans une fonction EmptyMer 12 Aoû 2020 - 23:01

Bonsoir à tous.

Je fais des appels à une fonction qui doit retourner un calcul numérique. Pour ce faire je teste dans celle-ci pour savoir si chaque élément qui entre dans la fonction a une valeur numérique, sinon je sort de la fonction.

Comme result est le résultat d'une opération, je ne peux me servir d'un retour '0' qui peut-être le résultat d'une opération. 10-5-5 = 0, donc pas de possibilité de retour d'erreur. Evidemment je vais prendre une variable DIM pour avoir un contrôle, mais je pense que ce serait plus approprié de pouvoir avoir un retour d'erreur qu'on peut  exploiter. Ou je vais retourner une valeur abracadabrante.

Donc ma demande serait d'avoir la possibilité d'avoir un retour d'erreur.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

demande retour d'un code d'erreur dans une fonction Empty
MessageSujet: Re: demande retour d'un code d'erreur dans une fonction   demande retour d'un code d'erreur dans une fonction EmptyJeu 13 Aoû 2020 - 0:50

Le plus simple serait de retourner une valeur qui ne risque pas de se produire normalement. Dans le cas d'une fonction retournant une valeur entière, tu pourrais retourner  la plus grande valeur négative possible, soit -2147483648. Et pour détecter l'erreur, tu fais
Code:
if ValeurRetournee%<-2147483647
  ' traitement d'erreur ici
end_if

Idem pour une fonction retournant une valeur flottante, tu retournes 0-power(10,308) car l'exposant maximal est de 308. Donc, tu testes:
Code:
if ValeurRetournee<0-power(10,307)
  ' traitement d'erreur ici
end_if

IMPORTANT !!!!!!!!!!!!!!!!
Ne jamais utiliser l'opérateur = dans le test avec ces valeurs extêmes !


C'est plus facile avec une fonction retournant une valeur sous forme de chaîne de caractères. Là, tu peux retourner par exemple un caractère unique normalement pas utilisé, cmme ² ou µ par exemple. Et tu testes:
Code:
if ValeurRetournee$="²"
  ' traitement d'erreur ici
end_if
ou
Code:
if ValeurRetournee$="µ"
  ' traitement d'erreur ici
end_if

Dans ce cas, et dans ce cas seulement, tu peux utiliser l'opérateur =.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

demande retour d'un code d'erreur dans une fonction Empty
MessageSujet: Re: demande retour d'un code d'erreur dans une fonction   demande retour d'un code d'erreur dans une fonction EmptyJeu 13 Aoû 2020 - 1:43

Merci Klaus pour ton intervention.
C'est ce que j'ai fait. J'ai peut-être tord, je pense que ce pouvait être une bonne idée. J'ai utilisé: result= 9876543210123.87

Bonne nuit Sleep
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

demande retour d'un code d'erreur dans une fonction Empty
MessageSujet: Re: demande retour d'un code d'erreur dans une fonction   demande retour d'un code d'erreur dans une fonction EmptyJeu 13 Aoû 2020 - 10:21

Je rappelle mon avertissement:
Citation :
IMPORTANT !!!!!!!!!!!!!!!!
Ne jamais utiliser l'opérateur = dans le test avec ces valeurs extêmes !

En fait, la précision d'une valeur flottante est de 15 chiffres de mantisse et un exposant de -308 à +308.
Dans ton cas, tu as choisi la valeur de 0.987654321012387E13.

Donc, pour la mantisse, tu as atteint la limite de précision, et une comparaison par "=" peut donner un résultat aléatoire, en fonction du hardware de ta machine (ou de celles où tu installes ton logiciel !), car le FPP (Floating Point Processor, des différentes marques de circuits intégrés ne sont pas fiables à ce degré. Cela dépend de l'implémentation technique.

Pour l'exposant, tu est "grossièrement" au milieu de la fourchette possible: -308...13...+308, pas de problème à ce niveau-là. Cependnt, tu te rends bien compte que des valeurs de cette ordre de grandeur peuvent facilement àe tre le résultat de fonctions sur des valeurs flottantes (racine carré, sinus, ...) et il existe une réelle, quoique faible, probabilité de tomber sur ces valeurs.

C'est pour cette raison que dans ma suggestion, j'ai choisi une valeur correspondant à une limite de l'intervalle de valeurs possibles et, surtout, j'ai évité l'opérateur "=" dont le résultat peut être aléatoire sur des valeurs flottantes.

Ceci dit, si ça marche sur ta machine, et si tu ne prévois pas de déployer ton logiciel sur d'autres matériels, alors il n'y a pas de problème.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

demande retour d'un code d'erreur dans une fonction Empty
MessageSujet: Re: demande retour d'un code d'erreur dans une fonction   demande retour d'un code d'erreur dans une fonction EmptyJeu 13 Aoû 2020 - 13:25

Merci Klaus pour ces précisions
Je m'étais demandé si j'étais dans la fourchette d'un nombre, mais bien d'autres choses à voir, d'autant que je vais réviser mon code qui ne me plait pas.
Revenir en haut Aller en bas
Contenu sponsorisé





demande retour d'un code d'erreur dans une fonction Empty
MessageSujet: Re: demande retour d'un code d'erreur dans une fonction   demande retour d'un code d'erreur dans une fonction Empty

Revenir en haut Aller en bas
 
demande retour d'un code d'erreur dans une fonction
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» clipboard_paste vers un picture
» Respect du code dans le forum
» Exemples de code dans le forum
» Sélectionner du code à la souris dans l'éditeur.
» Demande d'une nouvelle fonction dans kgf.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: