亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Pengendalian ralat PHP 7

PHP 7 mengubah cara kebanyakan ralat dilaporkan. Tidak seperti mekanisme pelaporan ralat tradisional PHP 5, kebanyakan ralat kini dibuang sebagai pengecualian Ralat.

Pengecualian Ralat ini boleh ditangkap dengan cubaan / tangkap blok seperti pengecualian biasa. Jika tiada blok try / catch yang sepadan, fungsi pengendalian pengecualian (didaftarkan oleh set_exception_handler()) dipanggil untuk diproses. Jika pengendali pengecualian belum didaftarkan, ia dikendalikan dengan cara tradisional: ia dilaporkan sebagai Ralat Maut.

Kelas Ralat tidak dilanjutkan daripada kelas Pengecualian, jadi kod seperti tangkapan (Pengecualian $e) { ... } tidak boleh menangkap Ralat. Anda boleh menggunakan kod seperti tangkapan (Ralat $e) { ... } atau daftarkan pengendali pengecualian (set_exception_handler()) untuk menangkap Ralat.

Hierarki pengecualian ralat

  • Ralat
    • AritmetikError
    • AssertionError
    • DivisionByZeroError
    • TypeError
  • Exception
    • ...

1458887252-2773-exception-hiearchy.jpg

Instance
<?php 
class MathOperations  
{ 
   protected $n = 10; 

   // 求余數(shù)運算,除數(shù)為 0,拋出異常 
   public function doOperation(): string 
   { 
      try { 
         $value = $this->n % 0; 
         return $value; 
      } catch (DivisionByZeroError $e) { 
         return $e->getMessage(); 
      } 
   } 
} 

$mathOperationsObj = new MathOperations(); 
print($mathOperationsObj->doOperation()); 
?>

Above The hasil keluaran pelaksanaan program ialah:
Modulo by zero

Meneruskan pembelajaran
||
<?php class MathOperations { protected $n = 10; // 求余數(shù)運算,除數(shù)為 0,拋出異常 public function doOperation(): string { try { $value = $this->n % 0; return $value; } catch (DivisionByZeroError $e) { return $e->getMessage(); } } } $mathOperationsObj = new MathOperations(); print($mathOperationsObj->doOperation()); ?>