import java.util.*;
//=================================================================================================
public class ExceptionArray2Caught {
//-------------------------------------------------------------------------------------------------
    private static final Scanner keyboard = new Scanner(System.in);
//-------------------------------------------------------------------------------------------------
    public static void main(String[] args) {

        int[] myData = null;
        int size;
        int index;
        int data;
        int userIndex;

        try {
            System.out.print("How many items of data : ");
            size = keyboard.nextInt();
            myData = new int[size];
            do {
                System.out.print("Enter index and positive data value : ");
                userIndex = keyboard.nextInt();
                data = keyboard.nextInt();
                if (data > 0) {
                    myData[userIndex] = data;
                }
            } while (data > 0);
        } catch (InputMismatchException e) {
            System.out.println("Invalid input somewhere there");
        } catch (NegativeArraySizeException e) {
            System.out.println("Invalid array size");
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println(e.getMessage() + " is an invalid index");
        }

        if (myData != null) {
            for (index = 0; index < myData.length; index++) {
                System.out.println(index + " = " + myData[index]);
            }
        } else {
            System.out.println("No data was stored");
        }
    }
//-------------------------------------------------------------------------------------------------
}
//=================================================================================================
