Step 1: Draw the exception class hierarchy starting from the top.
Every object that Java can throw using the throw statement, or that the JVM itself throws when something goes wrong, must ultimately be an instance of one single root class.
Step 2: Name that root class.
That root is Throwable, a direct subclass of Object, and it branches into two children: Error, for serious problems like running out of memory, and Exception, for conditions a program can reasonably try to catch.
Step 3: Place ArithmeticException within this tree.
ArithmeticException is only one specific descendant far down the Exception branch, so it cannot be the superclass of everything, and Exception alone is only half the tree since it leaves out Error, which means Throwable is the true common ancestor shared by all of them.
\[ \boxed{\text{Throwable}} \]