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
- PL/SQL 08 異常 exceptionSQLException
- java基礎:Exception異常JavaException
- oracle 異常處理 exceptionOracleException
- 淺談java異常[Exception] (轉)JavaException
- 淺談 PHP 中異常類的使用PHP
- Java中Error和Exception的異同以及執行時異常(Runtime exception)與檢查型異常(checked exception)的區別JavaErrorException
- 甩鍋(throws)_ java異常(Exception)處理JavaException
- java異常——RuntimeException和User Define ExceptionJavaException
- 異常分類
- 小心異常(Exception)帶來的風險(2) (轉)Exception
- NETCORE - 全域性異常處理(Exception)NetCoreException
- 自定義異常類
- PHP 核心 - 異常處理PHP
- PHP錯誤和異常PHP
- Spring Cloud Gateway自定義異常處理Exception HandlerSpringCloudGatewayException
- Cacheable 類轉換異常
- PHP使用trycatch,捕獲異常PHP
- php錯誤及異常捕捉PHP
- Java中的Exception拋異常對效能的影響 - BaeldungJavaException
- PHP系列(七)PHP錯誤異常處理PHP
- Java基礎 ---Throwable異常類Java
- Java的自定義異常類Java
- C++筆記 14:審慎使用異常規格(exception specifications)C++筆記Exception
- 記錄Laravel異常處理類Laravel
- 重寫Laravel異常處理類Laravel
- JAVA類檔案操作和異常Java
- JNI完全指南(二)——類與異常
- C#中自定義異常類C#
- laravel-exception-notify - 支援多種通道的 laravel 異常監控通知LaravelException
- php錯誤與異常處理方法PHP
- 異常處理-PHP手冊筆記PHP筆記