Should ArithmeticException appear before
RunTimeException in the list of catch blocks?
Yes.
If RunTimeException appeared first, then
its catch block would catch all RunTimeExceptions,
including ArithmeticExceptions.
A more compact way of showing the hierarchy is:
Exception
    IOException
    AWTException
    RunTimeException
        ArithmeticException
        NoSuchElementException
            InputMismatchException
        IndexOutOfBoundsException
        Others
    Others
Don't memorize this diagram (for one thing, it is far from complete). But look at it to see what it says.
Which should come first in the catch blocks:
ArithmeticException or IndexOutOfBoundsException?