php5 プログラムの例外処理_PHP チュートリアル
异常的工作原理:
try
{
代码处理程序;
if(代码处理发生错误)throw new Exception('抛出一个异常');//使用throw关键字,后面是Exception的一个对象
//需要说明的是php5异常不会自动抛出异常
//抛出异常后下面处理程序不再执行
代码处理程序;
}
catch Exception $e
{
处理异常;
//如:echo 'Exception '.$e->getCode().':'.$e->getMessage().'in'.$e->getFile().'on line'.$e->getLine();
}
看看抛出的异常类系统是如何定义的
class Exception
{
protected $message='Unknown exception';
protected $code=0;
protected $file;
protected $line;
function __construct($message=null,$code=0);
final function getMessage();
final function getCode();
final function getFile();
final function getLine();
final function getTrace();
final function getTraceAsString();//与getTrace()一样,只不过它将格式化为字符串
function __toString();//需要对象的字符串表示时会自动调用这个方法,也就是一旦有echo或print直接输出Exception实例时就会被调用
}
Exception的属性不能在调用代码中直接访问,而必须使用获取方法获得其属性值,只用$message,$code能有用户抛出异常时设置,即给Exception类的构造函数完成。由Exception类可以看出我们完全可以继承Exception类创建我们自己的异常类,在检测错误时不再抛出系统默认的异常对象,而是我们自定义的异常类对象,但我们只能继承构造函数、toString()方法和Exception的属性。
class myException extends Exception
{
function __toString()
{
return '
}
}
在代码中调用我们自定义的异常类
try
{
throw new myException('错误',10);//为了简单,直接抛出自定义异常对象
}
catch(myException $e)
{
echo $e;//由于我们的自定义异常已经改变了输出方式,所以这里直接输入异常对象即可,原因为一旦有echo或print直接输出Exception实例时就会被调用__toString()
}
以上单间的介绍了异常,下面我们把异常引入我们的数据库处理类中看看如何使用
class myException extends Exception{
function __construct($message=null,$code=0)
{
parent::__construct($message,$code);
}
function __toString()
{
return '
}
}
クラス mydb {
private $user;//ユーザー名
private $pass;//パスワード
private $host;//データベース IP アドレスまたはローカルホスト
private $db; //データベース名
//コンストラクター
パブリック関数 __construct(){
$num_args = func_num_args();
if($num_args > 0){
$args = func_get_args();
$this->host = $args[0];
$this->user = $args[1];
$this->pass = $args[2];
//パラメータを渡した後、データベース接続を自動的に呼び出します
$this->connect();
}
}
//データベース接続
プライベート関数 connect(){
//例外処理
試してみてください{
if (!$this->db =@ mysql_connect ($this->host,$this->user,$this->pass)){
$Exceptionstring = "接続に失敗しました: ホスト、ユーザー名、またはパスワードが間違っています";
throw new myException ($Exceptionstring,0);// カスタム例外オブジェクトをスローします。オブジェクトのインスタンス化時のパラメーターが間違っています
}
} catch (myException $e) {
エコー $e;
}
}
//データベースの選択
パブリック関数 selectdb ($thedb){
試してみてください{
if ([email=!@mysql_select_db]!@mysql_select_db[/email] ($thedb, $this->db)){
$Exceptionstring = "データベース: $thedb が存在しません";
throw new myException ($Exceptionstring,1);
}
} catch (myException $e) {
エコー $e;
}
}
//更新、削除を実行
パブリック関数の実行 ($thequery){
試してみてください{
if ([email=!@mysql_query]!@mysql_query[/email] ($thequery, $this->db)){
$Exceptionstring = "間違った SQLステートメント: $thequery ";
新しい myException ($Exceptionstring,2) をスローします;
} その他 {
echo "影響を受ける更新/削除: " . mysql_affected_rows () " ;
}
} catch (myException $e) {
エコー $e;
}
}
//ナレーション結果を返します
パブリック関数 getrows ($thequery){
試してみてください{
if (!$aquery =@ mysql_query ($thequery)){
$Exceptionstring = "間違ったクエリ ステートメント: $thequery ";
新しい myException ($Exceptionstring,3) をスローします;
} その他 {
while ($adata = mysql_fetch_array ($aquery)){
$returnarr[] =$adata;
}
$returnarr を返します;
}
} catch (myException $e) {
エコー $e;
}
}
// デストラクターは接続を閉じます
パブリック関数 __destruct() {
試してみてください{
if ([email=!@mysql_close]!@mysql_close[/email] ($this->db)){
$Exceptionstring = "接続を閉じることができませんでした";
新しい myException ($Exceptionstring,4) をスローします;
}
} catch (myException $e) {
エコー $e;
}
}
}
//インスタンスクラス
$mydb = 新しい mydb ("localhost","root","123456");
//データベースを選択
$mydb->selectdb ("tonlong");
//更新操作を実行します
$adata = $mydb->execute ("update db_news set hits=hits+1 where id=3");
//クエリ出力
$data = $mydb->getrows ("db_news からタイトルを選択");
for ($i = 0; $i echo $data[$i][0] ."
";
}
?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











iPhone のデフォルトの地図は、Apple 独自の地理位置情報プロバイダーである Maps です。マップは改善されていますが、米国外ではうまく機能しません。 Googleマップと比べて何も提供するものはありません。この記事では、Google マップを iPhone のデフォルトの地図として使用するための実行可能な手順について説明します。 Google マップを iPhone のデフォルトの地図にする方法 Google マップを携帯電話のデフォルトの地図アプリとして設定するのは、思っているよりも簡単です。以下の手順に従ってください – 前提条件 – 携帯電話に Gmail がインストールされている必要があります。ステップ 1 – AppStore を開きます。ステップ 2 – 「Gmail」を検索します。ステップ 3 – Gmail アプリの横にある をクリックします

目次 解決策 1 解決策 21. Windows Update の一時ファイルを削除します。 2. 破損したシステム ファイルを修復します。 3. レジストリ エントリを表示および変更します。 4. ネットワーク カード IPv6 をオフにします。 5. WindowsUpdateTroubleshooter ツールを実行して修復します。 6. ファイアウォールをオフにします。およびその他の関連するウイルス対策ソフトウェア。 7. WidowsUpdate サービスを閉じます。解決策 3 解決策 4 Huawei コンピュータの Windows アップデート中に「0x8024401c」エラーが発生する 症状 問題 原因 解決策 まだ解決されませんか?最近、システムの脆弱性のため、Web サーバーを更新する必要があります。サーバーにログインすると、エラー コード 0x8024401c が表示されます。

1. まず、タスクバーの空白スペースを右クリックして[タスクマネージャー]オプションを選択するか、スタートロゴを右クリックして[タスクマネージャー]オプションを選択します。 2. 開いたタスク マネージャー インターフェイスで、右端の [サービス] タブをクリックします。 3. 開いた[サービス]タブで、下の[サービスを開く]オプションをクリックします。 4. 表示される[サービス]ウィンドウで、[InternetConnectionSharing(ICS)]サービスを右クリックし、[プロパティ]オプションを選択します。 5. 表示されたプロパティ画面で[プログラムから開く]を[無効]に変更し、[適用]をクリックして[OK]をクリックします。 6. スタートロゴをクリックし、シャットダウンボタンをクリックして[再起動]を選択し、コンピュータの再起動を完了します。

携帯電話に時計アプリがありませんか?日付と時刻は iPhone のステータス バーに引き続き表示されます。ただし、時計アプリがないと、世界時計、ストップウォッチ、目覚まし時計、その他多くの機能を使用できません。したがって、見つからない時計アプリを修正することは、やるべきことリストの一番上に置く必要があります。これらの解決策は、この問題の解決に役立ちます。解決策 1 – 時計アプリを配置する 誤って時計アプリをホーム画面から削除した場合は、時計アプリを元の場所に戻すことができます。ステップ 1 – iPhone のロックを解除し、App ライブラリ ページに到達するまで左にスワイプを開始します。ステップ 2 – 次に、検索ボックスで「時計」を検索します。ステップ 3 – 検索結果に以下の「時計」が表示されたら、それを長押しして、

アプリを使用しようとすると、「カメラとマイクへのアクセスを許可できません」というメッセージが表示されますか?通常、カメラとマイクのアクセス許可は、必要に応じて特定の人に付与します。ただし、許可を拒否すると、カメラとマイクは機能しなくなり、代わりにこのエラー メッセージが表示されます。この問題の解決は非常に基本的なもので、1 ~ 2 分で解決できます。解決策 1 – カメラ、マイクの権限を提供する 必要なカメラとマイクの権限を設定で直接提供できます。ステップ 1 – [設定] タブに移動します。ステップ 2 – [プライバシーとセキュリティ] パネルを開きます。ステップ 3 – そこで「カメラ」権限をオンにします。ステップ 4 – 内部には、携帯電話のカメラの許可を要求したアプリのリストが表示されます。ステップ5 – 指定したアプリの「カメラ」を開きます

nohup の役割と原理の分析 Unix および Unix 系オペレーティング システムでは、nohup はバックグラウンドでコマンドを実行するためによく使用されるコマンドです。ユーザーが現在のセッションを終了したり、ターミナル ウィンドウを閉じたりしても、コマンドはまだ実行され続けています。この記事では、nohup コマンドの機能と原理を詳しく分析します。 1. nohup の役割: バックグラウンドでのコマンドの実行: nohup コマンドを使用すると、ターミナル セッションを終了するユーザーの影響を受けることなく、長時間実行されるコマンドをバックグラウンドで実行し続けることができます。これは実行する必要があります

プールの異常はゲームのサイド タスクです。多くのプレイヤーは、プールの異常のタスクを完了する方法を知りたがっています。実際には非常に簡単です。まず、受け入れる前に、水中での射撃のテクニックを習得する必要があります。タスクを実行し、悪臭の原因を調査します。後で、プールの下にたくさんの死体があることがわかりました。Rise of Ronin のプールでの珍しいタスクについてのこのグラフィック ガイドを見てみましょう。 Ronin Rise プールでの珍しいミッションのガイド: 1. 飯塚と話し、水中での射撃のテクニックを学びます。 2. 以下の図の場所に移動し、プール内の異常タスクを受け取ります。 3. ミッションの場所に行き、NPCに話しかけると、近くのプールで異臭が発生していることを知ります。 4. プールに行って調査します。 5.下の写真の場所まで泳いで水中に潜ると、大量の死体が見つかります。 6. カメラを使って死体の写真を撮ります。 7

プログラマーとして、私はコーディング体験を簡素化するツールに興奮しています。人工知能ツールの助けを借りて、デモ コードを生成し、要件に応じて必要な変更を加えることができます。 Visual Studio Code に新しく導入された Copilot ツールを使用すると、自然言語によるチャット対話を備えた AI 生成コードを作成できます。機能を説明することで、既存のコードの意味をより深く理解できます。 Copilot を使用してコードを生成するにはどうすればよいですか?始めるには、まず最新の PowerPlatformTools 拡張機能を入手する必要があります。これを実現するには、拡張機能のページに移動し、「PowerPlatformTool」を検索して、[インストール] ボタンをクリックする必要があります。
