A recovery routine has two basic options: the routine can either retry or it can percolate.
Retry is the attempt to resume processing at some point in the unit of work that encountered the error. The recovery routine does something to circumvent or repair the error, and requests that the system pass control to a retry routine to attempt to continue with normal processing.
When a recovery routine percolates, the system checks to see if any other recovery routines are activated. If so, the system passes control to that recovery routine, which then has the option to either retry or percolate. Think of the process of percolation, then, as the system passing control to one recovery routine after another.
See Providing multiple recovery routines for more information about having multiple recovery routines.
If no other recovery routines are activated, or all recovery routines percolate, the system proceeds to abnormally end your program.