Exceptions propagate up the call stack until caught or the application terminates.
When an exception is thrown, Java tries to find a matching catch block starting from the method where it occurred. If not caught, it propagates to the method that called it, continuing up the call stack. If no catch block is found, the program may terminate. For example, if a method 'processOrder' throws an exception and doesn't catch it, the exception moves up to the method that called 'processOrder'.
Additional Notes
How does exception propagation work through the call stack?