1. 程式人生 > >簡述PHP7的error和異常處理

簡述PHP7的error和異常處理

continue final ret new span 數值 cti php 報告

看看 try catch 的作用,try的作用就等同於運行,如果try裏面的代碼運行正常沒用報錯的話,將不會觸發catch代碼塊,如果有的話(如下面的$x為0的時候,函數沒有return回數值,那麽將會報告)

Fatal error: Uncaught Exception: Division by zero. in D:\webserver\www\err.php:4 Stack trace: #0 D:\webserver\www\err.php(8): inverse(0) #1 {main} thrown in D:\webserver\www\err.php on line 4

但是下面的因為try去捕獲錯誤僅僅輸出為:

0.2
Caught exception: Division by zero.
Hello World

example:

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception(Division by zero.);
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 
Caught exception: , $e->getMessage(), "\n"; } // Continue execution echo "Hello World\n"; ?>

try catch後面可以跟隨finally為必須處理的回調

try {
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo Caught exception: ,  $e->getMessage(), "\n";
} finally {
    echo "Second finally.\n
"; }

無論try裏面的代碼塊是否會有error拋出都會輸出

Second finally.\n



簡述PHP7的error和異常處理