Submit Search
Upload
20081120 lt11th ace
•
2 likes
•
567 views
Masanori Hayashi
Follow
Report
Share
Report
Share
1 of 30
Download now
Download to read offline
Recommended
Programming camp Debug Hacks
Programming camp Debug Hacks
Hiro Yoshioka
Scalaでの例外処理
Scalaでの例外処理
Takashi Kawachi
#5:プログラミングの基本
#5:プログラミングの基本
長岡技術科学大学 自然言語処理研究室
Ruby紹介(pdf)
Ruby紹介(pdf)
Gohryuh
型安全Printf作ってみた
型安全Printf作ってみた
真一 北原
#7:演算子と分岐
#7:演算子と分岐
長岡技術科学大学 自然言語処理研究室
final int をFINAL しやがれ!
final int をFINAL しやがれ!
Keiichi Nagaoka
xv6から始めるSPIN入門
xv6から始めるSPIN入門
Ryousei Takano
Recommended
Programming camp Debug Hacks
Programming camp Debug Hacks
Hiro Yoshioka
Scalaでの例外処理
Scalaでの例外処理
Takashi Kawachi
#5:プログラミングの基本
#5:プログラミングの基本
長岡技術科学大学 自然言語処理研究室
Ruby紹介(pdf)
Ruby紹介(pdf)
Gohryuh
型安全Printf作ってみた
型安全Printf作ってみた
真一 北原
#7:演算子と分岐
#7:演算子と分岐
長岡技術科学大学 自然言語処理研究室
final int をFINAL しやがれ!
final int をFINAL しやがれ!
Keiichi Nagaoka
xv6から始めるSPIN入門
xv6から始めるSPIN入門
Ryousei Takano
DDD入門以前
DDD入門以前
yusuke kokubo
Beautiful Development ブレイクスルー体験記
Beautiful Development ブレイクスルー体験記
kentaro watanabe
QCon Tokyo 2013
QCon Tokyo 2013
増田 亨
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
増田 亨
ドメインモデルの育て方
ドメインモデルの育て方
増田 亨
20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発
Mao Ohnishi
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
CHY72
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
Makoto Shimoda
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
Yusuke Ando
Swift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhios
Tomohiro Kumagai
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
sters
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
do_aki
Puppet Best Practices? at COOKPAD
Puppet Best Practices? at COOKPAD
Gosuke Miyashita
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
Open Source System Administration Framework - Func
Open Source System Administration Framework - Func
Gosuke Miyashita
デザイナーのためのPHP講座 for WordPress (初級)
デザイナーのためのPHP講座 for WordPress (初級)
佑 小田垣佑
C言語よくある誤り
C言語よくある誤り
長岡技術科学大学 自然言語処理研究室
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
More Related Content
Viewers also liked
DDD入門以前
DDD入門以前
yusuke kokubo
Beautiful Development ブレイクスルー体験記
Beautiful Development ブレイクスルー体験記
kentaro watanabe
QCon Tokyo 2013
QCon Tokyo 2013
増田 亨
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
増田 亨
ドメインモデルの育て方
ドメインモデルの育て方
増田 亨
20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発
Mao Ohnishi
Viewers also liked
(6)
DDD入門以前
DDD入門以前
Beautiful Development ブレイクスルー体験記
Beautiful Development ブレイクスルー体験記
QCon Tokyo 2013
QCon Tokyo 2013
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
ドメインモデルの育て方
ドメインモデルの育て方
20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発
Similar to 20081120 lt11th ace
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
CHY72
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
Makoto Shimoda
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
Yusuke Ando
Swift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhios
Tomohiro Kumagai
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
sters
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
do_aki
Puppet Best Practices? at COOKPAD
Puppet Best Practices? at COOKPAD
Gosuke Miyashita
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
Open Source System Administration Framework - Func
Open Source System Administration Framework - Func
Gosuke Miyashita
デザイナーのためのPHP講座 for WordPress (初級)
デザイナーのためのPHP講座 for WordPress (初級)
佑 小田垣佑
C言語よくある誤り
C言語よくある誤り
長岡技術科学大学 自然言語処理研究室
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
Hideo Kashioka
C language Sem 01
C language Sem 01
Kosei Moriyama
Similar to 20081120 lt11th ace
(19)
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
Swift 2.0 の Error Handling #yhios
Swift 2.0 の Error Handling #yhios
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
Puppet Best Practices? at COOKPAD
Puppet Best Practices? at COOKPAD
知って得する標準関数の使い方
知って得する標準関数の使い方
Open Source System Administration Framework - Func
Open Source System Administration Framework - Func
デザイナーのためのPHP講座 for WordPress (初級)
デザイナーのためのPHP講座 for WordPress (初級)
C言語よくある誤り
C言語よくある誤り
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hack/HHVM 入門
Hack/HHVM 入門
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
C language Sem 01
C language Sem 01
More from Masanori Hayashi
「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
Masanori Hayashi
人のレガシーを笑うな - レガシー感謝の日
人のレガシーを笑うな - レガシー感謝の日
Masanori Hayashi
20180627 phpstudy 長いものに巻かれよう
20180627 phpstudy 長いものに巻かれよう
Masanori Hayashi
20180425 phpstudy-my-first-laravel
20180425 phpstudy-my-first-laravel
Masanori Hayashi
JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習
Masanori Hayashi
Phpstudy98
Phpstudy98
Masanori Hayashi
Php blt-vol2
Php blt-vol2
Masanori Hayashi
Symfony meetup-7
Symfony meetup-7
Masanori Hayashi
Glt vol49
Glt vol49
Masanori Hayashi
Glt vol48
Glt vol48
Masanori Hayashi
ボトルネックを解消せよ
ボトルネックを解消せよ
Masanori Hayashi
Glt vol47
Glt vol47
Masanori Hayashi
PHP framework Phalcon
PHP framework Phalcon
Masanori Hayashi
俺的世界で一番暑い夏
俺的世界で一番暑い夏
Masanori Hayashi
Soft bank ssl仕様変更について
Soft bank ssl仕様変更について
Masanori Hayashi
More from Masanori Hayashi
(15)
「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
人のレガシーを笑うな - レガシー感謝の日
人のレガシーを笑うな - レガシー感謝の日
20180627 phpstudy 長いものに巻かれよう
20180627 phpstudy 長いものに巻かれよう
20180425 phpstudy-my-first-laravel
20180425 phpstudy-my-first-laravel
JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習
Phpstudy98
Phpstudy98
Php blt-vol2
Php blt-vol2
Symfony meetup-7
Symfony meetup-7
Glt vol49
Glt vol49
Glt vol48
Glt vol48
ボトルネックを解消せよ
ボトルネックを解消せよ
Glt vol47
Glt vol47
PHP framework Phalcon
PHP framework Phalcon
俺的世界で一番暑い夏
俺的世界で一番暑い夏
Soft bank ssl仕様変更について
Soft bank ssl仕様変更について
20081120 lt11th ace
1.
AC あなたとは E違うんです エラー処理
2008年11月20日(木) 第11回Lightning Talk 林 正紀 id:m_norii
2.
というわけで
PHPの エラー処理のお話です
3.
ところで エラー処理 ちゃんとしてますか?
4.
CASE1 : 放置 $filename
が存在しないと E_WARNINGが出る
5.
CASE2 : 黙殺 E_WARNINGうざいから とりあえず抑制した。。。
6.
論外
7.
CASE3 : 比較的まともな例 ・ファイルの存在チェックをしてる ・各関数でFALSEが返ってきた場合をケア
8.
でも、いちいち if(($handle=fopen($file))===FALSE)
とか or die(’Error!’) とか面倒。
9.
なので エラーハンドラを 使いましょう
10.
定義側: 利用側: 詳しい使い方はPHPマニュアル参照。
11.
CASE4:PEARのエラー処理
12.
てか、 PEAR::isError() ばっかで うざいし。。。orz
13.
でも大丈夫!
14.
PEARにも エラーハンドリング機構が
あるよ(^^)v
15.
PEAR::setErrorHandling()
16.
あとはさっきの要領で、ErrorHandlerクラスに エラー時に実行する handlePEARError() メソッドを定義するだけ。 →エラー処理が消えて、読みやすい ソースコードになったよ!
17.
ところで
18.
PEARって 「クラス」ライブラリ ですよね?
19.
だったら エラーも
「例外」で 処理しませんか? PHP5限定だけど・・・
20.
PEAR_ErrorをPEAR_Exceptionに 詰め替えてthrowするラッパを作る ※元ネタは
[PHP-users 25583]のMLより。
21.
さらにPHPのデフォルト例外ハンドラも
定義しておく
22.
そして、利用する時はこんな感じ。
23.
あとは、 冒頭のset_error_handler();
とかも、 auto_prepend_file に指定して コードから追い出しちゃう ・・・って手もありますが。 ・・・そこは好き好きに。(^^;;;
24.
まだまだ エラー処理について 語るべきことは 多いのですが・・
25.
たぶん タイムアップ寸前なので
(^^;;; ・・・さわりだけ
26.
【大事なこと1】 Webページのエラー処理と コマンドラインのエラー処理は
ちゃんとわける maillog に HTMLのエラーページが出力 されてるとか、ありえないし。。。orz
27.
【大事なこと2】 エラー処理は、最初に設計・実装!
いわゆる「横断的関心事」だから、 後で付け足そうと思うと結構めんどくさいので。
28.
【大事なこと3】 php.iniの設定、要確認!!
本番環境で display_errors = On とか はずかしいぞ!
29.
【大事なこと4】 ApacheのErrorDocumentも
準備しておこう デフォルトのエラーページはかっこわるい (もちろんセキュリティ・ユーザビリティ的にも 好ましくない)
30.
ご静聴 ありがとうございました
Download now