Catch exceptions for array index out of bounds or dividing
// Catch exceptions for array index out of bounds
 // or dividing by 0
 import javax.swing.*;
 public class DebugTwelve3
 {
 public static void main(String[] args)
 {
 String inStr;
 int num, result;
 int[] array = {12, 4, 6, 8};
 inStr = JOptionPane.showInputDialog(null, \"Enter a number \");
 num = Integer.parse(inStr);
 try
 {
 for(int x = 0; x < array.length; ++x)
 {
 result = array[x] / num;
 JOptionPane.showMessageDialog(null, \"Result of division is \" + result);
 result = array[num];
 JOptionPane.showMessageDialog(null, \"Result accessing array is \" + result);
 }
 }
 catch(ArithmeticException error)
 {
 JOptionPane.showMessageDialog(null, \"Arithmetic error - division by 0\");   
 }
 catch(IndexException error)
 {
 JOptionPane.showMessageDialog(null, \"Index error - subscript out of range\");
 }
 }
 }
Solution
Hi,
Addded ArrayIndexOutOfBounds catch bloack and highlighted the code changes below.
DebugTwelve3.java
import javax.swing.*;
 public class DebugTwelve3
 {
 public static void main(String[] args)
 {
 String inStr;
 int num, result;
 int[] array = {12, 4, 6, 8};
 inStr = JOptionPane.showInputDialog(null, \"Enter a number \");
 num = Integer.parseInt(inStr);
 try
 {
 for(int x = 0; x < array.length; ++x)
 {
 result = array[x] / num;
 JOptionPane.showMessageDialog(null, \"Result of division is \" + result);
 result = array[num];
 JOptionPane.showMessageDialog(null, \"Result accessing array is \" + result);
 }
 }
 catch(ArithmeticException error)
 {
 JOptionPane.showMessageDialog(null, \"Arithmetic error - division by 0\");   
 }
 catch(ArrayIndexOutOfBoundsException error)
 {
 JOptionPane.showMessageDialog(null, \"Index error - subscript out of range\");
 }
 }
 }
![// Catch exceptions for array index out of bounds // or dividing by 0 import javax.swing.*; public class DebugTwelve3 { public static void main(String[] args) { // Catch exceptions for array index out of bounds // or dividing by 0 import javax.swing.*; public class DebugTwelve3 { public static void main(String[] args) {](/WebImages/10/catch-exceptions-for-array-index-out-of-bounds-or-dividing-1001586-1761515993-0.webp)
![// Catch exceptions for array index out of bounds // or dividing by 0 import javax.swing.*; public class DebugTwelve3 { public static void main(String[] args) { // Catch exceptions for array index out of bounds // or dividing by 0 import javax.swing.*; public class DebugTwelve3 { public static void main(String[] args) {](/WebImages/10/catch-exceptions-for-array-index-out-of-bounds-or-dividing-1001586-1761515993-1.webp)
