電子書籍の厳選無料作品が豊富!

接続できなかったら例外発生、値がなかったら例外発生というのではなく、あらゆる例外に対応できるエラーハンドラって、書けないものでしょうか?

error_log関数を使えば、簡単にファイルに書き込めますが、文章を自分で考えなくてはなりません。

error_log("エラーが発生しました",3,"err.log");


そうではなく、ゼロで除算すれば、ブラウザに、Warning: Division by zero in ~というのが表示される

ので、このようなエラーメッセージをログに書き込むなり、メールで送信したいところです。


エラーハンドラの典型的な書き方や、とりあえず、これだけ書いとけ! というものはありませんか?

A 回答 (6件)

具体的に何をしたいのか不明ですが、

http://jp.php.net/manual/ja/function.set-error-h … でいいのでは?

最初はこれで使うエラーハンドラーの書き方を聞いているのかと思ったけど、

>Warning: Division by zero in ~という文を取得するような関数は、ないものでしょうか?

と、書いていると言うことは、set_error_handler 関数を知らないと言うことですよね?
    • good
    • 0
この回答へのお礼

set_error_handlerを確認しました。ありがとうございます。
使い方を学んでみますね。

お礼日時:2011/11/07 18:10

>このあたりのエラーを取得できるものを探していたのです。


だからさぁ
log_errorsとerror_logの何が不満なんだ?
log_errorsとerror_logでできる事をなんでPHP側で自分で処理したいんだ?
もう質問者は勝手にやってくれ。
    • good
    • 0
この回答へのお礼

set_error_handler 関数というものを見出せたので、こちらのほうであたってみます。回答ありがとうございました。

お礼日時:2011/11/07 18:12
    • good
    • 0
この回答へのお礼

マニュアルのページですね。set_error_handlerをチェックしました。
ありがとうございます。

お礼日時:2011/11/05 20:57

>Warning: Division by zero in ~という文を取得するような関数は、ないものでしょうか?


取得する必要あるの?
log_errorsをでその有効にして君の求める
>このようなエラーメッセージをログに書き込むなり
をerror_logでファイル名を指定すれば良いだけなのに・・・・
#2
それどのレベルまでエラーや警告を表示するってだけの物。
    • good
    • 0
この回答へのお礼

error_reportingでエラーレベルを設定できることは、分かりました。
error_log("障害発生",3,"error.log")とすれば、ファイルに書き込まれますが、自分で、「障害発生」と打ち込まねばなりません。

このあたりのエラーを取得できるものを探していたのです。

お礼日時:2011/11/05 20:50

んー、PHPは門外漢ですがたぶんこれでしょうか?


http://www.24w.jp/study_contents.php?bid=php&iid …
    • good
    • 0
この回答へのお礼

ちょっと違います。なんでエラーになったの? なんで落ちたの? という場合に、その理由(エラーメッセージ)が知りたいのです。

画面に表示させるのではなく、エラーにならないようにカバーしたつもりでも、抜けがあったときに、メールなどに送信されると、すぐ分かるからです。

お礼日時:2011/11/05 20:56

>そうではなく、ゼロで除算すれば、ブラウザに、Warning: Division by zero in ~というのが表示される


>ので、このようなエラーメッセージをログに書き込むなり、メールで送信したいところです。
普通にphp.iniでerror_logの設定しておけば良いだけだぞ。
    • good
    • 0
この回答へのお礼

設定ファイルのerror_logは、ファイルの場所を書くところですよね。Warning: Division by zero in ~という文を取得するような関数は、ないものでしょうか?

お礼日時:2011/11/04 21:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!