PHP オブジェクト指向プログラミング (oop) 学習メモ (4) - 例外処理クラス Exception_PHP チュートリアル
使用例外
PHP5 には、他の言語と同様の例外処理モジュールが追加されています。 PHP コードで生成された例外は、throw ステートメントでスローし、catch ステートメントでキャッチできます。例外処理が必要なコードは、発生する可能性のある例外をキャッチするために try コード ブロックに配置する必要があります。各試行は少なくとも 1 つの catch ブロックに対応します。複数のキャッチを使用して、さまざまなクラスによって生成された例外をキャッチします。 try ブロックが例外をスローしなくなった場合、またはスローされた例外に一致する catch が見つからなかった場合、PHP コードは最後の catch にジャンプした後、実行を継続します。もちろん、PHP では、catch ブロック内で例外を再度スローすることができます。
事前定義された例外 例外
Exception クラスはすべての例外の基本クラスです。Exception クラスを派生することでカスタム例外を派生できます。次のリストは、例外に関する基本情報を示しています。
Exception {
/* 属性*/
protected string $message ; / /例外がスローされたファイル名
protected int $line ;例外がスローされたファイルの行番号
/* Method*/
public __construct ([ string $message = "" [, int $code = 0 [ , Exception $previous = NULL ]]] ) //例外コンストラクター
Final public string getMessage (void) //例外メッセージの内容を取得します
Final public Exception getPrevious (void) //例外チェーン内の前の例外を返します
Final public int getCode (void) //例外コードを取得します
Final public string getFile (void) //例外が発生したプログラムファイル名を取得
final public int getLine(void) //ファイル内の例外コードの行番号を取得
final public array getTrace (void) //例外を取得追跡情報
final public string getTraceAsString (void) //文字列型の例外追跡情報を取得
public string __toString (void) //例外オブジェクトを文字列に変換
final private void __clone (void) //例外的なクローン
}
if(!$link = mysql_connect("myhost","myuser","mypassw","mybd"))
{
throw new Exception("データベースに接続できませんでした。");
}
}
try
{
connectToDatabase();
}
catch(Exception $e)
{echo $e->getMessage( );
}
class MyException extends Exception
{
protected $ErrorInfo;
//コンストラクター内でロジックを処理し、基本クラスに情報を渡す
public function __construct($message=null,$code=0)
{
$ this&gt = '間違ったクラスのエラー情報 "" "n} connecttodatabase(){
$ e ) {
Echo $ e-& gt; getMessage ( ) . "n";
echo $e->GetErrorInfo();
}
set_Exception_handler はユーザー定義の例外処理関数を設定します
キャッチされなかった例外が発生したときに set_Exception_handler のパラメータとして呼び出される関数の名前。この関数は、set_Exception_handler() を呼び出す前に定義する必要があります。この関数は、スローされた例外オブジェクトである 1 つのパラメーターを受け入れます。これを使用すると、前述の例外ログの処理を改善できます。
コードをコピーします
コードは次のとおりです:
function ExceptionLogger($Exception)
{
$file='ExceptionLog.log';
file_put_contents($fiel,$Exception->__toString() ,FILE_APPEND);
}
set_Exception_handler(ExceptionLogger);
1.3. PHP では、catch コード ブロック内で例外を再度スローできます。
コードをコピーします
コードは次のとおりです:
{
#いくつかの操作を実行します
}
else
まとめ
技術記事
例外の使用 PHP5 には、他の言語と同様の例外処理モジュールが追加されています。 PHP コードで生成された例外は、throw ステートメントでスローし、catch ステートメントでキャッチできます。例外処理が必要です...

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java では、複数のスレッドがコレクション オブジェクトを同時に操作すると、ConcurrentModificationException 例外が発生することがあります。この例外は通常、要素を変更または削除するときにコレクションを走査するときに発生します。これにより、コレクションの状態が不整合になり、異常なエラーがスローされます。 。この記事では、この例外の原因と解決策について詳しく説明します。 1. 例外の原因 通常はConcurrentModificationException例外

PHP の開発では、PHP がデータベースを操作する際のエラーによって発生する「PHPFatalerror:UncaughtException'PDOException'」などのエラーが発生することがあります。このエラーが時間内に処理されないと、プログラムが中断されたり、予期しないエラーが発生したりすることがあります。では、この問題をどうやって解決すればいいのでしょうか?一般的な解決策をいくつか示します。 1. データベースパラメータを確認する まず、データベースに接続するときに渡されるパラメータを確認する必要があります。

Java で UnsupportedEncodingException に対処するにはどうすればよいですか? Java プログラミングでは、UnsupportedEncodingException が発生する場合があります。この例外は通常、間違ったエンコード変換またはサポートされていないエンコードによって発生します。この記事では、UnsupportedEncodingException例外の原因と対処法を紹介します。サポート対象外とは何ですか?

Java で ConcurrentModificationException が発生する一般的な原因は何ですか? Java コレクション フレームワークでイテレータを使用してコレクションを走査すると、一般的な Java 例外の 1 つである ConcurrentModificationException 例外がスローされることがあります。では、この例外の理由は何でしょうか?まず、Java コレクション フレームワークによって提供されるイテレータがステートフルであることを理解する必要があります。つまり、横断するとき、

Java 開発では、配列の利便性とパフォーマンス上の利点から、配列を使用して一連のデータを保存することがよくあります。ただし、配列を使用するプロセスでは、いくつかの例外が発生します。一般的な例外の 1 つは ArrayStoreException です。この例外は、互換性のないデータ型を配列に格納するとスローされます。この記事では、ArrayStoreExceptionとは何なのか、なぜ発生するのか、そしてその解決方法を紹介します。 1. 到着

Java プログラミングでは、配列は重要なデータ構造です。配列は 1 つの変数に複数の値を格納できます。さらに重要なのは、インデックスを使用して各値にアクセスできることです。ただし、配列を操作しているときに、いくつかの例外が発生する場合があります。そのうちの 1 つは ArrayStoreException です。この記事では、ArrayStoreException 例外の一般的な原因について説明します。 1. 型の不一致 配列の作成時に要素の型を指定する必要があります。互換性のないデータ型を配列に格納しようとすると、

Exception クラスと Error クラスはどちらも java.lang.Throwable クラスのサブクラスであり、実行時例外は処理できますが、エラーは処理できません。例外は、実行時に発生し、JVM を「あいまいな」状態にする論理エラーを表すオブジェクトです。これらの実行時エラーを表すために JVM によって自動的に作成されるオブジェクトは例外と呼ばれます。 Error は Throwable クラスのサブクラスで、合理的なアプリケーションが検出すべきではない重大な問題を示します。これらのエラーのほとんどは異常です。例外が発生した場合は、try ブロックと catch ブロックを使用して例外を処理できます。対処できないエラーが発生した場合、プログラムは終了します。例外には 2 種類あり、1 つは CheckedExce

UnsupportedEncodingException は、主にエンコーディングがサポートされていないために Java で発生することがあります。テキスト データを処理する場合、多くの場合、エンコード変換を実行する必要があります。つまり、あるエンコード形式のコンテンツを別のエンコード形式のコンテンツに変換することです。エンコード変換に使用されたエンコードタイプがサポートされていない場合、UnsupportedEncodingException がスローされます。この記事では、この例外の解決策を紹介します。 1つ、
