Mule provides exception strategies to handle errors that occur within Mule flows. There are two categories of exceptions: system exceptions which occur during startup or connection failures, and are handled by system strategies; and messaging exceptions which occur during message processing and are handled by messaging strategies. When a message throws an exception, normal flow stops and the message is passed to the messaging exception strategy containing message processors to handle the error.