通常、致命的なエラーは捕捉する必要はありませんが、複雑なプログラムでは、偶然メモリ不足により致命的なエラーが発生した場合、対処が困難になります。
たとえば、MySQL クラスでのフェッチ時に致命的なエラーが発生します。現時点では、実際の問題を特定するのは困難です。
PHP の例外処理は set_error_handler を通じてキャプチャできますが、キャプチャできるのは NOTICE/WARNING レベルのエラーのみであり、E_ERROR については何もできません。register_shutdown_function は set_error_handler の欠点を解決できます。
この関数を通じてプログラム終了コールバック関数を登録することで、通常では捕捉できないエラーを捕捉することができ、error_get_lastを使用してエラーを判断することができます。