public static function errorHandlerForFatal(
        $errno,
        $errstr,
        $errfile = null,
        $errline = null
    ) {
        $code = self::$_defaultCode;
        self::stopErrorHandlerForFatal();

        if ($errstr instanceof Exception) {
            if ($errstr->getCode()) {
                $code = $errstr->getCode();
            }
            $errstr = $errstr->getMessage();
        } elseif (!is_string($errstr)) {
            $errstr = 'Unknown error';
        }

        throw new SoapFault($code, $errstr.' (error ['.$errno.'])');
    }