On Tue, Jan 19, 2010 at 03:41:19PM +0100, Simeone wrote:
Non riesco ad intercettare l'errore "div by zero":
*float leftValue = getEvaluation();
divOpExp.prendiDestra().accept(this);
float rightValue = getEvaluation();
try {
value = leftValue/rightValue; // possibile divisione
per zero !!
}
catch (ArithmeticException exc){
System.out.println("---------Divisione per zero------------");
return false; }
return true;*
nel risultato in* value* mette Infinity, il quale a sua volta non
riesco neanche a confrontarlo!
Alla fine mi torna un true!
hai provato a cercare su google java division by zero?
http://java.sun.com/developer/TechTips/1998/tt0722.html
In the Java programming language, integral division by zero results in an
ArithmeticException. But for floating-point, no exception is thrown (in C++
the result of division by zero is undefined). The result of 1.0 / 0.0 is
positive infinity, indicated by the constant Double.POSITIVE_INFINITY (which,
in fact, is defined by performing this division).
This example illustrates an important point, which is that Java language
floating-point arithmetic operates according to a well-defined standard, known
as IEEE 754.
filippo