お疲れ様です。
現在僕はお悩み掲示板のようなサービスの管理パネルを作っているのですが、
例外処理を実装しなきゃいけないよというアドバイスをいただきました。
しかし、例外処理が”具体的にどこに必要なのか”がまったくわかりません。
何かの処理に対して行うものであるという認識はあるのですが、どういう処理に対して例外処理(try~catch文)を入れればよいのでしょうか。
調べたりしてもよくわかりませんでしたのでどなたかご助言をお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
運用上の例外処理ことかもしれません。
管理者の権限で強引にデータを変更する行為を例外処理と言ったりします。
例えば質問サイトであれば、通常投稿の削除は投稿者本人が望んでも、回答者がいるので削除はできない運用になっていたとします。ところが投稿内容に個人情報などの不適切な表現などがあり、削除するのが望ましいと判断された場合、DBを直接変更するのではなく、管理者画面で指定した投稿の非表示を指示できるなどの機能です。
たぶんこの意味でつかわれたのではないとおもいますが、一応のため。
投稿2015/08/03 13:46
総合スコア2883
0
ベストアンサー
例外処理が”具体的にどこに必要なのか”
エラーが発生する可能性がある処理に必要です。
一般的には、異なるシステムが接してデータを受け渡す、
広い意味でのインターフェイスのような場所で使います。
結論から言うと、IO、DBまわりなどに必要なことが多いです。
例外処理が必要なのは、入出力やDBアクセスの異常で、
データ(ベース)全体、アプリ全体が異常にならないためです。
PHPから見て、UI層との入出力とDB層との入出力、それぞれに必要です。
入出力をチェックするのは、たとえると出入り口で手荷物検査をするのと同じです。
ロジックの処理はPGが自分で書くから、そもそもエラーが出ないようにします。
しかし、入力部分はユーザが操作するのでエラーになる場合があるし、
DBやAPIへのリクエストなども先方の都合でエラーになる場合があります。
だから例外処理を含むエラー処理を実装する必要があります。
ご質問の管理パネルは典型的なインターフェイスだと言えます。
入力が多いでしょうし、設定はDBに書き込むでしょう。
具体的にはフォームの入力やDBのトランザクション、
ファイルのアップロードとダウンロードなど、
そういうデータの出入り口でエラー処理します。
投稿2015/08/03 12:33
総合スコア5592
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
例外処理ですが、有名どころですと0による除算があります。まあ今回は多分関係ないですが…。
おそらくそのサービスですとDBを使用しているかと思いますが、最低限DBへの登録が失敗した時なんかは例外処理としてぶっ飛ばす必要があるかと思います。
ただPHPはJAVAのように勝手にthrowしてくれないので、throw new exceptionを使って自力でエラーをキャッチしてthrowする必要があります。(古い知識なので今はどうなのかわかりませんが…)
投稿2015/08/03 11:10
総合スコア634
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/03 11:23
2015/08/03 11:56
2015/08/03 13:05
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。