質問

私はいくつかのプロジェクトを開発しています。そして、さまざまなエラーを制御したいと思います。すべての一般的なフレームワークとphpプロジェクトには、さまざまな例外があることを私は知っています。しかし、それは必須の作業ではないと思います。エラーが発生した場合は、メッセージを使用してdie()を作成できます。 1.例外の主な利点は何ですか? 2. die()でエラーを制御できますか?

ありがとうございます。

役に立ちましたか?

解決

そうですね、die()を使用できます。しかし、それはすべてのエラーを致命的にします。エラーからの回復をまったく試みることができないことを意味します。場合によっては、それで問題ありません。

ただし、ほとんどの場合、エラーの後に「クリーンアップ」する機能、または別の方法を試す機能が必要になる場合があります。ここで例外が役に立ちます...エラーを処理する場所と場合を選択できます。エラーから適切に回復することができます。

たとえば、リモートサーバーからファイルをダウンロードするメソッドdownloadFromRemoteServer($address);があるとします

die()を使用している場合、ダウンロードが失敗すると、スクリプトは終了します。話の終わり。

ただし、例外を使用する場合は、別のサーバーを試すことも、別の方法(HTTPとFTPなど)を試すこともできます。 ジェネラコディセタグプレ

ただし、例外は例外的な状況でのみ役立つことに注意してください。これらは、考えられるエラーに使用するためのものではありません。たとえば、ユーザーが自分の電子メールアドレスを正しく確認しなかった場合、それは例外ではありません。ただし、データベースサーバーに接続できない場合、またはDBで競合が発生している場合は、例外的な状況になります...

他のヒント

アレクサンダー、

die()とExceptionsは異なることを実行します。

「die」言語構造は、スクリプトの実行を停止し、関数のように呼び出された場合はパラメータを出力する可能性があります。

一方、例外はOOPコンテキストで使用されるより高度な構造であり、スクリプトを停止する必要があるかどうか、停止する必要がある場合はどのような方法でユーザーに表示するかについて、開発者に柔軟性を与えます。など

例外はこれよりも少し複雑なので、最初にOOPを使用して文書化するか、zendフレームワークについて読んでください。例外とは何かを把握できます。

ただし、単純なものの場合は、いつでもexit(またはdie、同じこと)を使用できます。

これがお役に立てば幸いです。 スラブ語

1例外の主な利点は何ですか?

主な利点は次のとおりです。

  • 失敗した関数は、エラー状態でリターンを汚染する必要はありません
  • 入力された例外はコード内の適切なレベルで処理できます。 コードのどの部分でどのエラーを処理できるかを決定します
  • エラー状態に関するより多くの情報を例外自体に保存して、エラーの処理と、場合によってはエラーからの回復を容易にすることができます。

    2 die()でエラーを制御できますか?

    私はそれをコントロールと呼ぶことはほとんどなく、実際にエラーを処理することをあきらめると呼びます。私のプロジェクトのどの時点でも、die()は実際にはユーザーフレンドリーではなく、PHPコードのこれらのdie('...some error condition...');の例はすべて、開発中のプロジェクトにのみ適しています。本番環境では、ユーザーが可能な限り最も簡単な方法でタスク/プログラムを続行できるようにする必要があるため、「再試行」(エラー条件が再び満たされる可能性が低い場合)、「申し訳ありませんが機能しません」 '/他の種類のメッセージ、フォーム/ページはすべて、die()よりも望ましいです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top