(#22363) Improve error messages for division by 0 and infinity

If a div by zero was performed (integer operation) this resulted in 
a runtime error with a wrapped exception. Now this is handled with a
proper error message.

Ruby (in its wisdom) produces Infinity when floating point numbers
over/underflow as they do when dividing by 0. This is now handled as an
error with a proper error message.