What is a stacktrace?
A stacktrace is a very helpful debugging tool. It is a list of the method calls that the application was in the middle of when an Exception was thrown. This is very useful because it doesn't only show you where the error happened, but also how the program ended up in that place of the code. Just like the reason we call it 'stack' is because stack is First in Last out (FILO), the deepest exception was happened in the very beginning, then a chain of exception was generated a series of consequences, the surface Exception was the last one happened in time, but we see it in the first place. But in most cases, you can even get the cause of the exception from the first few lines.
Exceptions in Java
An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions. It provide a way to transfer control from one part of a program to another.
More about.... Exceptions Handling in Java