Exceptions propagate up the call stack until caught or the program terminates.
In Java, if an exception is thrown and not caught in the current method, it propagates up the call stack to the previous method. This continues until the exception is caught or reaches the main method, causing the program to terminate. For example, if an exception occurs during payment processing in a checkout system and is not caught, it will propagate until it's either handled or causes the application to crash.