quelqu'un peut il m'expliquer pourquoi quand je fait une division de deux float, si le dénominateur est égal à 0, ca ne me lève pas l'exception ArithmeticException mais çà me donne un résultat infinity ??

alors que ca marche avec des int

pour tester :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public class Divide {
 
	public static void main(String[] args) {
		float res=0;			
			float a = Float.valueOf(args[0]).floatValue();
			float b = Float.valueOf(args[1]).floatValue();
		try{
		res = a/b;    
		}
		catch(ArithmeticException e){System.out.println("pas de division par 0 !");}
		finally{System.out.println("bien essayé !");}
 
		System.out.println("quotient = "+res);		
	}
}