5

私は方法を持っています、この方法では致命的なエラーが発生する可能性があります、このエラーをキャッチするために私はこれを作ります

class a {


    function shutDownFunction() { 
        $error = error_get_last();
        if ($error['type'] == 1) {
            echo "this is fatal error";
        } 
    }


    function terribleFunction () {
        register_shutdown_function(array($this,'shutdownFunction'));


        // here is code, wich may causes fatal error

    }


}

わかりました、これは理解できますが、引数をからterribleFunctionに渡す必要がありますshutDownFunction。これを作る方法は?

4

3 に答える 3

13

まずshutDownFunction、パラメータを受け入れる必要があることを指定する必要があります。

function shutDownFunction($var)

その後、あなたはそのように呼び出すことができregister_shutdown_functionます

register_shutdown_function(array($this, 'shutdownFunction'), $myVar);

ドキュメントはここにあり、コメントには例があります。

于 2012-12-04T12:40:20.193 に答える
0

1つのregister_shutdown_functionのみを使用し、メソッド内でそれを使用してそのメソッドのエラーをキャッチしないようにする必要があります。エラーキャッチには、try、catch、finallyブロックを使用します

参照: http: //php.net/manual/en/language.exceptions.php

于 2012-12-04T12:40:58.180 に答える
0

register_shutdown_functionのドキュメントを確認できます。parameterに渡される2番目のオプションの引数がありますshutDownFunction()。この関数は、次のように定義できます。

function shutDownFunction($args) {
   //do whatever you want with $args
}
于 2012-12-04T12:41:31.610 に答える