Why is the exception not triggered for division by zero here?

Because Divide by zero applies to integers and not floats as per JLS

and you would get output as

Its not gonna printed a=Infinity

since this is computed as Infinity

And in case you want to see an exception just change

a=44/d;

to this

a=44/0;

A division by zero throws an exception for integer values, but not for floating values. This is defined in the JLS #15.17.2:

The result of a floating-point division is determined by the rules of IEEE 754 arithmetic:
[...]

  • Division of a nonzero finite value by a zero results in a signed infinity. The sign is determined by the rule stated above.

If you change the type of a and d to int, you will get an exception.

Tags:

Java

Exception