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
        IllegalArgumentException
            NumberFormatException
        IndexOutOfBoundsException
        Others
    Others
Don't memorize this diagram (for one thing, it is not complete). But look at it to see what it says.