Mule provides options for handling errors called exceptions. There are two categories of exceptions in Mule: system exceptions which occur during application startup or connection failures, and are handled by system exception strategies; and messaging exceptions which occur within flows and are handled by messaging exception strategies. Mule supports five types of messaging exception strategies to handle errors in transactions: default, catch, choice, reference, and rollback strategies. It is best practice to create a global default exception strategy and add reference strategies in flows to refer to the global strategy.