<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def traverse_ruffus_exception(exceptions, options, log):
 """Traverse a RethrownJobError and output the exceptions Ruffus presents exceptions as 5 element tuples. The RethrownJobException has a list of exceptions like ruffus < 2.7.0 had a bug with exception marshalling that would give different output whether the main or child process raised the exception. We no longer support this. Attempting to log the exception itself will re-marshall it to the logger which is normally running in another process. It's better to avoid re- marshalling. The exit code will be based on this, even if multiple exceptions occurred at the same time."""


    exit_codes = []
    for exc in exceptions:
        exit_code = do_ruffus_exception(exc, options, log)
        exit_codes.append(exit_code)

    return exit_codes[0]