X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FdoMaintenance.php;h=fe4905b2285bfa3b3592461c7f5d21d97b5ff452;hb=df59a5cbabea50191168303c5f0ea3600aab49b4;hp=94ae95d73d2631f713bef4baea7cd0fb677507d7;hpb=a954426320529222df460aa9ac89c74950d610e0;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/doMaintenance.php b/maintenance/doMaintenance.php index 94ae95d73d..fe4905b228 100644 --- a/maintenance/doMaintenance.php +++ b/maintenance/doMaintenance.php @@ -95,7 +95,25 @@ $maintenance->setAgentAndTriggers(); $maintenance->validateParamsAndArgs(); // Do the work -$success = $maintenance->execute(); +try { + $success = $maintenance->execute(); +} catch ( Exception $ex ) { + $success = false; + $exReportMessage = ''; + while ( $ex ) { + $cls = get_class( $ex ); + $exReportMessage .= "$cls from line {$ex->getLine()} of {$ex->getFile()}: {$ex->getMessage()}\n"; + $exReportMessage .= $ex->getTraceAsString() . "\n"; + $ex = $ex->getPrevious(); + } + // Print the exception to stderr if possible, don't mix it in + // with stdout output. + if ( defined( 'STDERR' ) ) { + fwrite( STDERR, $exReportMessage ); + } else { + echo $exReportMessage; + } +} // Potentially debug globals $maintenance->globals();