Exceptions alter the normal flow of method execution, propagating up the call stack until caught.
When an exception is thrown, the normal flow of the program is interrupted, and control is transferred to the nearest matching catch block. If no catch block is found in the current method, Java's exception propagation mechanism will pass the exception up the call stack. This process continues until a suitable catch block is found or the program terminates. For instance, in an e-commerce checkout system, if a `PaymentProcessingException` is thrown during payment, it propagates until a block that handles it is reached, possibly logging the error or notifying the user.