How to use Math.multiplyExact() that throw an ArithmeticException when the result overflows in Java

2 Answers

0 votes
class Program {
    public static void main(String[] args) {
         try {
 
            int n = Math.multiplyExact(101, 3);
            System.out.println(n);
 
            n = Math.multiplyExact(2147483647, 2);
            System.out.println(n);
 
        } catch (Exception e) {
            System.out.println(e.toString());
        }
    }
}



/*
run:

303
java.lang.ArithmeticException: integer overflow

*/

 



answered Dec 16, 2016 by avibootz
edited Mar 7, 2024 by avibootz
0 votes
class Program {
    public static void main(String[] args) {
        int num = Integer.MIN_VALUE;

        try {
            
            System.out.println(Math.multiplyExact(987213, 18));
            System.out.println(Math.multiplyExact(num, 2));
            
            } catch (Exception e) {
                System.out.println("Exception: " + e);
            }
    }
}



/*
run:

17769834
Exception: java.lang.ArithmeticException: integer overflow

*/

 



answered Mar 7, 2024 by avibootz
...