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

Kenji Suzuki kenji.uui @ gmail.com
2015年 3月 5日 (木) 20:47:00 JST


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 として使っているのですか。

そういう発想はなかったです。

お手数をお掛けしました。


// Kenji



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