It is fallacious to blindly follow some sort of archetypal convention in the face of a given scenario, especially with something as general and out of context as an exception.
An ArrayIndexOutOfBoundsException could be thrown as a result of poor and/or rudimentary argument parsing (assigning variables to args[n]) and not specifying an option when running the program.
Depending on your situation, for the most part if you're intending on building an application that will be employed by end users, you'd likely pick 2). For personal projects and developer-oriented software, you could do either 1) or 2), most likely you'd do an e.printStackTrace().
In the face of ambiguity, I pick "none of the above".