[PHP-doc 1054] Re: ErrorException の例1のコーディングミス

TAKAGI Masahiro matakagi @ osk2.3web.ne.jp
2015年 3月 5日 (木) 20:12:07 JST


高木です。

2015-03-05 18:17 GMT+09:00 TAKAGI Masahiro <matakagi @ osk2.3web.ne.jp>:
>
> 2015-03-05 12:13 GMT+09:00 Kenji Suzuki <kenji.uui @ gmail.com>:
>> Kenji です。
>>
>>
>> http://php.net/manual/ja/class.errorexception.php
>>
>> の「例1」のサンプルコードに誤りを見つけましたので報告します。
>>
>> × throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
>> ◯ throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
>>
>> コンストラクタの第2引数は code、第3引数は severity です。
>>
>> public __construct ([ string $message = "" [, int $code = 0 [, int $severity = 1 [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )
>
> ご指摘いただきありがとうございます。英語版の原文も間違っていたので、あわせて修正しておきました。
>
> http://news.php.net/php.doc.cvs/13123
> http://news.php.net/php.doc.ja/4358

…が、「いや、それは意図的にそうしてるんだよ」という指摘があり、元に戻しました。

 function exception_error_handler($errno, $errstr, $errfile, $errline )

の最初のパラメータに渡されるのは、エラーのレベルを表す整数値(E_* ですな)なので、
それをErrorExceptionのseverityとして使っているということです。

 http://php.net/manual/ja/function.set-error-handler.php

# $errno という引数名が少々紛らわしい感じですね。

-- 
TAKAGI Masahiro mailto:matakagi @ osk2.3web.ne.jp


PHP-doc メーリングリストの案内