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

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


高木です。

2015-03-05 20:47 GMT+09:00 Kenji Suzuki <kenji.uui @ gmail.com>:
> Kenji です。
>
>
> On Thu, 5 Mar 2015 20:12:07 +0900
> TAKAGI Masahiro <matakagi @ osk2.3web.ne.jp> wrote:
>
>> 高木です。
>>
>> 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 という引数名が少々紛らわしい感じですね。
>
> むむむ。
>
> エラーレベルの定数
> http://php.net/manual/ja/errorfunc.constants.php
> を severity として使っているのですか。
>
> そういう発想はなかったです。

あの値がseverity順に並ぶことが保障されているわけでもなく、たまたまそうなっているだけであり、筋が悪いのでは…
と主張する気力はありませんでした ^^;

>
> お手数をお掛けしました。
>
>
> // Kenji
>
> _______________________________________________
> PHP-doc mailing list
> PHP-doc @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-doc



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


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