本篇文章主要介紹常見的php異常處理方法,感興趣的朋友參考下,希望對大家有所協助。
本文執行個體講述了php異常處理方法,具體如下:
<?php $path = "D://in.txt"; try //檢測異常 { file_open($path); } catch(Exception $e) //捕獲異常 { echo $e->getMessage(); } function file_open($path) { if(!file_exists($path)) //如果檔案無法找到,拋出異常對象 { throw new Exception("檔案無法找到", 1); } if(!fopen($path, "r")) //如果檔案無法開啟,拋出異常對象 { throw new Exception("檔案無法開啟", 2); } } ?>
<?php $path = "D://in.txt";//檔案所在路徑 file_open($path);//調用file_open函數 function file_open($path) { if(!file_exists($path)) //如果檔案無法找到,拋出異常對象 { throw new Exception("檔案無法找到", 1); } if(!fopen($path, "r")) //如果檔案無法開啟,拋出異常對象 { throw new Exception("檔案無法開啟", 2); } } ?>
<?php function exception_handler($e)//用於處理異常的函數 { echo "未捕獲的異常:".$e->getMessage(); } set_exception_handler("exception_handler");//設定異常處理函數 try //檢測異常 { $path = "D://in.txt"; } catch(Exception $e) //捕獲異常 { echo $e->getMessage(); } file_open($path); //調用函數開啟檔案 function file_open($path) { if(!file_exists($path)) //如果檔案無法找到,拋出異常對象 { throw new Exception("檔案無法找到", 1); } if(!fopen($path, "r")) //如果檔案無法開啟,拋出異常對象 { throw new Exception("檔案無法開啟", 2); } } ?>
<?php $path = "D://in.txt"; try { file_open($path); //嘗試開啟檔案 } catch(Exception $e) { echo "異常資訊:".$e->getMessage()."/n"; //返回使用者自訂的異常資訊 echo "異常代碼:".$e->getCode()."/n"; //返回使用者自訂的異常代碼 echo "檔案名稱:".$e->getFile()."/n"; //返回傳生異常的PHP程式檔案名稱 echo "異常代碼所在行".$e->getLine()."/n"; //返回傳生異常的代碼所在行的行號 echo "傳遞路線:"; print_r($e->getTrace()); //以數組形式返回跟蹤異常每一步傳遞的路線 echo $e->getTraceAsString(); //返回格式化成字串的getTrace函數資訊 } function file_open($path) { if(!file_exists($path)) //如果檔案不存在,則拋出錯誤 { throw new Exception("檔案無法找到", 1); } if(!fopen($path, "r")) { throw new Exception("檔案無法開啟", 2); } } ?>
<?php class FileExistsException extends Exception{}//用於處理檔案不存在異常的類 class FileOpenException extends Exception{}//用於處理檔案不可讀異常的類 $path = "D://in.txt"; try { file_open($path); } catch(FileExistsException $e)//如果產生FileExistsException異常則提示使用者確認檔案位置 { echo "程式在運行過程中發生了異常:".$e->getMessage()."/n"; echo "請確認檔案位置。"; } catch(FileOpenException $e)//如果產生FileOpenException異常則提示使用者確認檔案的可讀性 { echo "程式在運行過程中發生了異常:".$e->getMessage()."/n"; echo "請確認檔案的可讀性。"; } catch(Exception $e) { echo "[未知異常]"; echo "異常資訊:".$e->getMessage()."/n"; //返回使用者自訂的異常資訊 echo "異常代碼:".$e->getCode()."/n"; //返回使用者自訂的異常代碼 echo "檔案名稱:".$e->getFile()."/n"; //返回傳生異常的PHP程式檔案名稱 echo "異常代碼所在行".$e->getLine()."/n"; //返回傳生異常的代碼所在行的行號 echo "傳遞路線:"; print_r($e->getTrace()); //以數組形式返回跟蹤異常每一步傳遞的路線 echo $e->getTraceAsString(); //返回格式化成字串的getTrace函數資訊 } function file_open($path) { if(!file_exists($path)) { throw new FileExistsException("檔案無法找到", 1); //拋出FileExistsException異常對象 } if(!fopen($path, "r")) { throw new FileOpenException("檔案無法開啟", 2); //拋出FileOpenException異常對象 } } ?>
<?php class FileExistsException extends Exception{}//用於處理檔案不存在異常的類 class FileOpenException extends Exception{}//用於處理檔案不可讀異常的類 $path = "D://in.txt"; try { file_open($path); //嘗試開啟檔案 } catch(Exception $e) { echo "[未知異常]"; echo "異常資訊:".$e->getMessage()."/n"; //返回使用者自訂的異常資訊 echo "異常代碼:".$e->getCode()."/n"; //返回使用者自訂的異常代碼 echo "檔案名稱:".$e->getFile()."/n"; //返回傳生異常的PHP程式檔案名稱 echo "異常代碼所在行".$e->getLine()."/n"; //返回傳生異常的代碼所在行的行號 echo "傳遞路線:"; print_r($e->getTrace()); //以數組形式返回跟蹤異常每一步傳遞的路線 echo $e->getTraceAsString(); //返回格式化成字串的getTrace函數資訊 } catch(FileExistsException $e)//如果產生FileExistsException異常則提示使用者確認檔案位置 { echo "程式在運行過程中發生了異常:".$e->getMessage()."/n"; echo "請確認檔案位置。"; } catch(FileOpenException $e)//如果產生FileOpenException異常則提示使用者確認檔案的可讀性 { echo "程式在運行過程中發生了異常:".$e->getMessage()."/n"; echo "請確認檔案的可讀性。"; } function file_open($path) { if(!file_exists($path)) //如果檔案不存在,則輸出錯誤 { throw new FileExistsException("檔案無法找到", 1); } if(!fopen($path, "r")) { throw new FileOpenException("檔案無法開啟", 2); } } ?>
<?php class FileExistsException extends Exception{}//用於處理檔案不存在異常的類 class FileOpenException extends Exception{}//用於處理檔案不可讀異常的類 $path = "D://in.txt"; try { file_open($path); } catch(FileExistsException $e)//如果產生FileExistsException異常則提示使用者確認檔案位置 { echo "程式在運行過程中發生了異常:".$e->getMessage()."/n"; echo "請確認檔案位置。"; } catch(FileOpenException $e)//如果產生FileOpenException異常則提示使用者確認檔案的可讀性 { echo "程式在運行過程中發生了異常:".$e->getMessage()."/n"; echo "請確認檔案的可讀性。"; } catch(Exception $e) { echo "[未知異常]"; echo "異常資訊:".$e->getMessage()."/n"; //返回使用者自訂的異常資訊 echo "異常代碼:".$e->getCode()."/n"; //返回使用者自訂的異常代碼 echo "檔案名稱:".$e->getFile()."/n"; //返回傳生異常的PHP程式檔案名稱 echo "異常代碼所在行".$e->getLine()."/n"; //返回傳生異常的代碼所在行的行號 echo "傳遞路線:"; print_r($e->getTrace()); //以數組形式返回跟蹤異常每一步傳遞的路線 echo $e->getTraceAsString(); //返回格式化成字串的getTrace函數資訊 } function file_open($path) { try { if(!file_exists($path)) { throw new FileExistsException("檔案無法找到", 1); } if(!fopen($path, "r")) { throw new FileOpenException("檔案無法開啟", 2); } } catch(Exception $e) //捕獲異常 { echo "file_open函數在運行過程中出現異常"; throw $e; //重擲異常 } } ?>
總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。
相關推薦:
php無序樹的實現技巧
php遞迴遍曆實現無限分類
php流程式控制制及數學運算