Salut tout le monde.
@Jack
La fonction POWER(X,Y) qui retourne la valeur de X élevé à la puissance Y retourne une erreur :
’INF’ is not a valid floating point value lorsque la puissance de 10 du résultat dépasse 308, comme dans l’exemple suivant
- Code:
-
print power(100,154) : ' <--- OK
print power(100,155) : ' <--- Erreur Externe. 'INF' is not a valid floating point value
Une telle erreur fatale interrompt le cours du programme et il n’y a aucun moyen de l’intercepter même pas avec ON_ERROR_GOTO.
Ma demande : est-il possible d’éviter l’arrêt brutal du programme en donnant au programmeur la possibilité d’intercepter cette erreur pour aiguiller le programme vers une routine d’exception.
Edit:
R = POWER(X,Y)
En passant par les logarithmes, on obtient :
Log(R) = Y*Log(X)
Et en retournant à l’exponentielle :
R = exp(y*Log(x))
L’erreur survient donc sur l’exponentielle.
Exp(709) < --- OK
Exp(710) < --- ‘INF’