PHP 異常類 Exception
class MyException extends Exception{//必須繼承Exception類
function __construct($mess){
parent::__construct($mess);
}
function change(){//自定義方法
echo '換上備胎';
}
}
echo "早上起床
";
$flag = true;//根據異常情況設定標誌位來丟擲異常
try{
echo "開車上班
";
if($flag){
//丟擲異常
throw new MyException("車子爆胎");
}
echo "路況很好
";
}catch(MyException $e){//$e = new Exception();
echo $e->getMessage()."
";
echo $e->change()."
";//呼叫自定義類的方法
echo "換上備胎,繼續開車上班
";
}
echo "到公司
";
============================================================================
class WcException extends Exception{
function methodWc(){
echo "去公廁";
}
}
class NoeatException extends Exception{
function methodEat(){
echo "買個麵包";
}
}
class NutException extends Exception{
function methodGowork(){
echo "換個輪胎";
}
}
class SnowException extends Exception{
function methodHighway(){
echo "走小路";
}
}
class Badday{
function gowc($flag){
if(!$flag){
throw new WcException("馬桶壞了");
}
echo "物質準備到位
";
}
function eat($time){
if(!$time){
throw new NoeatException("無早餐可吃");
}
echo "吃很飽
";
}
function gowork($nut){
if(!$nut){
throw new NutException("扎到釘子了");
}
echo "去上班啦!
";
}
function highway($snow){
if(!$snow){
throw new SnowException("下雪封路了");
}
echo "走高速
";
}
}
echo "早上起床
";
$flag = false;//根據異常情況設定標誌位來丟擲異常
try{
$badday = new Badday();
//1.上廁所(馬桶不好用了) 去公廁
$badday->gowc(true);
//2.吃早餐(沒有早點了) 買個麵包
$badday->eat(false);
//3.開車上班(爆胎) 換胎
$badday->gowork(true);
//4.上高速(下雪了) 走國道
$badday->highway(true);
}catch(WcException $e){
echo $e->methodWc();
}catch (NoeatException $e){
echo $e->methodEat();
}catch(NutException $e){
echo $e->methodGowork();
}catch(SnowException $e){
echo $e->methodHighway();
}catch (Exception $e){
echo $e->getMessage();
}
echo "到公司
";
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1806/viewspace-2809091/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP基礎:異常處理ExceptionPHPException
- muduo網路庫Exception異常類Exception
- api模式下修改異常類ExceptionAPI模式Exception
- 異常(Exception)Exception
- Sanic Exception – 異常Exception
- C++ exception 異常類繼承關係C++Exception繼承
- oracle 使用異常exceptionOracleException
- Java中Error和Exception的異同以及執行時異常(Runtime exception)與檢查型異常(checked exception)的區別JavaErrorException
- 淺談 PHP 中異常類的使用PHP
- NETCORE - 全域性異常處理(Exception)NetCoreException
- 甩鍋(throws)_ java異常(Exception)處理JavaException
- 異常-異常的概述和分類
- 異常分類
- Spring Cloud Gateway自定義異常處理Exception HandlerSpringCloudGatewayException
- 自定義異常類
- PHP錯誤和異常PHP
- PHP 核心 - 異常處理PHP
- Java中的Exception拋異常對效能的影響 - BaeldungJavaException
- Cacheable 類轉換異常
- C++筆記 14:審慎使用異常規格(exception specifications)C++筆記Exception
- Java基礎 ---Throwable異常類Java
- 解決 發生異常: RuntimeError (note: full exception trace is shown but execution is paused at: <module>)ErrorException
- laravel-exception-notify - 支援多種通道的 laravel 異常監控通知LaravelException
- php錯誤與異常處理方法PHP
- PHP基礎之錯誤與異常PHP
- 記錄Laravel異常處理類Laravel
- 重寫Laravel異常處理類Laravel
- JAVA類檔案操作和異常Java
- 異常詳細資訊: System.ComponentModel.Win32Exception: 拒絕訪問。Win32Exception
- 淺析php中的異常與錯誤PHP
- PHP 批鬥大會之缺失的異常PHP
- Java 異常 隨機數 包裝類Java隨機
- 關於Java異常的分類示例Java
- 異常和異常呼叫鏈
- 異常篇——異常記錄
- 異常篇——異常處理
- PHP透過pem檔案校驗簽名異常PHP
- 異常-異常的注意事項