夜间福利网站,免费动漫av,一级做a爰片久久毛片免费陪,夜夜骑首页,黄色毛片视频,插插插操操操,综合av色

PHP7的異常處理詳解

時(shí)間:2025-12-12 19:50:30 php語言 我要投稿

PHP7的異常處理詳解

  在PHP中碰到異常的時(shí)候應(yīng)該如何處理呢,就跟隨百分網(wǎng)小編一起去了解下吧,想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  前言

  PHP7的改動(dòng)中,影響比較大的,包括異常處理。

  概述

  更多的異常是直接通過PHP直接處理的,和之前的PHP5不同的是更多的異常是通過Error exceptions來拋出。

  作為一個(gè)普通的擴(kuò)展,Error exceptions會(huì)持續(xù)冒出直到匹配到對(duì)應(yīng)的catch塊。如果沒有進(jìn)行匹配,就會(huì)觸發(fā)被設(shè)置的set_exception_handler()來執(zhí)行處理,如果沒有默認(rèn)的異常處理程序,則該異常將被轉(zhuǎn)換為一個(gè)致命錯(cuò)誤,并且將被像一個(gè)傳統(tǒng)的錯(cuò)誤被處理。

  由于Error在錯(cuò)誤層次結(jié)構(gòu)不繼承異常,像這樣的代碼catch (Exception $e) { ... }在PHP5中并不會(huì)捕獲到對(duì)應(yīng)的異常。我們可以用代碼catch (Error $e) { ... }或者 set_exception_handler(),來對(duì)Error進(jìn)行處理。

  錯(cuò)誤的層級(jí)結(jié)構(gòu)

  Throwable

  Error 錯(cuò)誤

  ArithmeticError 算數(shù)錯(cuò)誤

  PisionByZeroError 除數(shù)為0的錯(cuò)誤

  AssertionError 聲明錯(cuò)誤

  ParseError 解析錯(cuò)誤

  TypeError 類型錯(cuò)誤

  Exception 異常

  ….

  PHP RFC

  Throwable Interface

  function add(int $left, int $right) {    return $left + $right;}try {    echo add('left', 'right');} catch (Exception $e) {    /pic/pic/pic/p>

  這里,并沒有出現(xiàn)服務(wù)器500的錯(cuò)誤。原因在于,PHP7中的Error把它攔截住了,沒有冒泡在服務(wù)器中。

  object(TypeError)#1 (7) {  ["message":protected]=>  string(139) "Argument 1 passed to add() must be of the type integer, string given, called in /Applications/mamp/apache2/htdocs/curl/error.php on line 14"  ["string":"Error":private]=>  string(0) ""  ["code":protected]=>  int(0)  ["file":protected]=>  string(48) "/Applications/mamp/apache2/htdocs/curl/error.php"  ["line":protected]=>  int(9)  ["trace":"Error":private]=>  array(1) {    [0]=>    array(4) {      ["file"]=>      string(48) "/Applications/mamp/apache2/htdocs/curl/error.php"      ["line"]=>      int(14)      ["function"]=>      string(3) "add"      ["args"]=>      array(2) {        [0]=>        string(4) "left"        [1]=>        string(5) "right"      }    }  }  ["previous":"Error":private]=>  NULL}

  這樣我們就可以通過日志的方式記錄他們。

  Exceptions in the engine (for PHP 7)

  function call_method($obj) {    $obj->method();}try {    call_method(null); /pic/n";}/pic/p>

  如果異常沒有被捕獲,PHP將繼續(xù)擔(dān)任目前它拋出同樣的致命錯(cuò)誤。

【PHP7的異常處理詳解】相關(guān)文章:

PHP7系列之異常處理02-05

PHP7系列之-異常處理03-04

PHP7系列中的異常處理12-25

PHP7錯(cuò)誤處理機(jī)制詳解介紹11-16

Java 異常處理12-22

PHP異常處理辦法03-19

Java的異常處理及應(yīng)用03-12

PHP7多線程搭建教程詳解 10-11

如何處理PHP異常09-18

  • 相關(guān)推薦