亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語(yǔ)言

PHP異常處理定義與使用方法

時(shí)間:2024-09-15 20:11:13 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

PHP異常處理定義與使用方法

  PHP語(yǔ)法吸收了C語(yǔ)言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開(kāi)發(fā)領(lǐng)域。下面是小編分享的PHP異常處理定義與使用方法,一起來(lái)看一下吧。

  <?php

  //php5提供了基本的異常處理類(lèi),可直接使用 ,不需要自己再定義

  // class Exception

  // {

  // protected $message = 'Unknown exception'; // 異常信息

  // protected $code = 0; // 用戶(hù)自定義異常代碼

  // protected $file; // 發(fā)生異常的文件名

  // protected $line; // 發(fā)生異常的代碼行號(hào)

  // function __construct($message = null, $code = 0);

  // final function getMessage(); // 返回異常信息

  // final function getCode(); // 返回異常代碼

  // final function getFile(); // 返回發(fā)生異常的文件名

  // final function getLine(); // 返回發(fā)生異常的代碼行號(hào)

  // final function getTrace(); // backtrace() 數(shù)組

  // final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息

  // /* 可重載的方法 */

  // function __toString(); // 可輸出的字符串

  // }

  ?>

  <?php

  //定義一個(gè)頂級(jí)異常處理

  function my_exception($e){

  echo "我是頂級(jí)異常處理".$e->getMessage();

  }

  //修改默認(rèn)的頂級(jí)異常處理函數(shù)(器)

  set_exception_handler("my_exception");

  //我們使用異常機(jī)制

  try{

  addUser("shunping");

  updateUser("xiaoming1");

  }

  //catch用來(lái) 捕獲異常, Exception 是異常類(lèi)(是php定義好一個(gè)類(lèi))

  catch(Exception $e){

  //返回異常信息

  echo "返回異常信息(失敗信息) =".$e->getMessage()."<br/>";

  echo "返回異常代碼 =".$e->getCode()."<br/>";

  echo "返回發(fā)生異常的文件名 =".$e->getFile()."<br/>";

  echo "返回發(fā)生異常的代碼行號(hào) =".$e->getLine()."<br/>";

  //echo " =".$e->getTrace()."<br/>"; // backtrace() 數(shù)組

  //可以繼續(xù)拋出,這時(shí)將會(huì)啟動(dòng)php默認(rèn)的異常處理器來(lái)處理

  //你也可以自己定義一個(gè)頂級(jí)異常處理器,對(duì)其進(jìn)行處理

  throw $e;

  }

  function addUser($username){

  if($username=="shunping"){

  //添加ok

  echo "ok1";

  }else{

  //添加error

  //拋出異常.

  throw new Exception("添加失敗");

  }

  }

  function updateUser($username){

  if($username=="xiaoming"){

  //正常修改

  echo "ok2";

  }else{

  //平拋出異常

  throw new Exception("修改失敗");

  }

  }

  ?>

  異常使用的注意事項(xiàng) :

  通過(guò)上面的案例,我們可以看出,使用

  try{

  //代碼

  }catch(Exception $e){

  //對(duì)異常處理

  }

  這種方式,可以更有效的控制錯(cuò)誤.所以在開(kāi)發(fā)中大量的使用.

  1. 當(dāng)捕獲到一個(gè)異常后,try{} 塊里的后續(xù)代碼不繼續(xù)執(zhí)行.

  2. 如果有一個(gè)異常發(fā)生,但是你沒(méi)有catch 捕獲,則提示一個(gè)Uncaught Exception.(系統(tǒng).)

  3. 當(dāng)catch一個(gè)異常,你可以處理,也可以不處理,不處理就可以

  throw new Exception("信息");

  4. 你可以自定義異常類(lèi)

  class MyException extends Exception {

  }

  5. 使用多個(gè) catch 代碼塊可以捕獲不同種類(lèi)的異常

  try{

  //代碼....

  //第一句話

  //第二句話

  }catch(PDOException $e){

  //

  }catch(Exception $e){

  |

  }

  6. 也可簡(jiǎn)單使用 Exception 捕獲

  代碼說(shuō)明:

  <?php

  //定義了一個(gè)異常

  class MyException1 extends Exception{

  }

  class MyException2 extends Exception{

  }

  function A(){

  throw new MyException1("a");

  }

  function B(){

  throw new MyException2("b")

  }

  function C(){

  try{

  A();//拋出MyException1

  B();//拋出MyException2

  }catch(Exception1 $e1){

  $e1->getMessage();

  }catch(Exception2 $e2){

  $e2->getMesage();

  }

  }

  ?>

  異常的規(guī)則

  需要進(jìn)行異常處理的代碼應(yīng)該放入 try 代碼塊內(nèi),以便捕獲潛在的異常。

  每個(gè) try 或 throw 代碼塊必須至少擁有一個(gè)對(duì)應(yīng)的 catch 代碼塊。

  使用多個(gè) catch 代碼塊可以捕獲不同種類(lèi)的異常。

  可以在 try 代碼塊內(nèi)的 catch 代碼塊中拋出(再次拋出)異常。

  簡(jiǎn)而言之:如果拋出了異常,就必須捕獲它。或者使用頂級(jí)異常處理器處理。

  如果不拋,即使有異常也不會(huì)捕獲,不會(huì)處理


《久久久无码视频,精品一级影院在线播放.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【PHP異常處理定義與使用方法】相關(guān)文章:

如何處理PHP異常10-30

PHP7的異常處理詳解08-16

PHP7系列之異常處理08-15

PHP7系列之-異常處理06-07

PHP7系列中的異常處理08-11

PHP5異常處理分析實(shí)例08-07

PHP5異常處理的方法是什么09-01

顯示效果不錯(cuò)的PHP錯(cuò)誤 異常處理類(lèi)07-08

PHP中trait的使用方法08-20

PHP autoload函數(shù)的使用方法10-22

PHP異常處理定義與使用方法

  PHP語(yǔ)法吸收了C語(yǔ)言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開(kāi)發(fā)領(lǐng)域。下面是小編分享的PHP異常處理定義與使用方法,一起來(lái)看一下吧。

  <?php

  //php5提供了基本的異常處理類(lèi),可直接使用 ,不需要自己再定義

  // class Exception

  // {

  // protected $message = 'Unknown exception'; // 異常信息

  // protected $code = 0; // 用戶(hù)自定義異常代碼

  // protected $file; // 發(fā)生異常的文件名

  // protected $line; // 發(fā)生異常的代碼行號(hào)

  // function __construct($message = null, $code = 0);

  // final function getMessage(); // 返回異常信息

  // final function getCode(); // 返回異常代碼

  // final function getFile(); // 返回發(fā)生異常的文件名

  // final function getLine(); // 返回發(fā)生異常的代碼行號(hào)

  // final function getTrace(); // backtrace() 數(shù)組

  // final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息

  // /* 可重載的方法 */

  // function __toString(); // 可輸出的字符串

  // }

  ?>

  <?php

  //定義一個(gè)頂級(jí)異常處理

  function my_exception($e){

  echo "我是頂級(jí)異常處理".$e->getMessage();

  }

  //修改默認(rèn)的頂級(jí)異常處理函數(shù)(器)

  set_exception_handler("my_exception");

  //我們使用異常機(jī)制

  try{

  addUser("shunping");

  updateUser("xiaoming1");

  }

  //catch用來(lái) 捕獲異常, Exception 是異常類(lèi)(是php定義好一個(gè)類(lèi))

  catch(Exception $e){

  //返回異常信息

  echo "返回異常信息(失敗信息) =".$e->getMessage()."<br/>";

  echo "返回異常代碼 =".$e->getCode()."<br/>";

  echo "返回發(fā)生異常的文件名 =".$e->getFile()."<br/>";

  echo "返回發(fā)生異常的代碼行號(hào) =".$e->getLine()."<br/>";

  //echo " =".$e->getTrace()."<br/>"; // backtrace() 數(shù)組

  //可以繼續(xù)拋出,這時(shí)將會(huì)啟動(dòng)php默認(rèn)的異常處理器來(lái)處理

  //你也可以自己定義一個(gè)頂級(jí)異常處理器,對(duì)其進(jìn)行處理

  throw $e;

  }

  function addUser($username){

  if($username=="shunping"){

  //添加ok

  echo "ok1";

  }else{

  //添加error

  //拋出異常.

  throw new Exception("添加失敗");

  }

  }

  function updateUser($username){

  if($username=="xiaoming"){

  //正常修改

  echo "ok2";

  }else{

  //平拋出異常

  throw new Exception("修改失敗");

  }

  }

  ?>

  異常使用的注意事項(xiàng) :

  通過(guò)上面的案例,我們可以看出,使用

  try{

  //代碼

  }catch(Exception $e){

  //對(duì)異常處理

  }

  這種方式,可以更有效的控制錯(cuò)誤.所以在開(kāi)發(fā)中大量的使用.

  1. 當(dāng)捕獲到一個(gè)異常后,try{} 塊里的后續(xù)代碼不繼續(xù)執(zhí)行.

  2. 如果有一個(gè)異常發(fā)生,但是你沒(méi)有catch 捕獲,則提示一個(gè)Uncaught Exception.(系統(tǒng).)

  3. 當(dāng)catch一個(gè)異常,你可以處理,也可以不處理,不處理就可以

  throw new Exception("信息");

  4. 你可以自定義異常類(lèi)

  class MyException extends Exception {

  }

  5. 使用多個(gè) catch 代碼塊可以捕獲不同種類(lèi)的異常

  try{

  //代碼....

  //第一句話

  //第二句話

  }catch(PDOException $e){

  //

  }catch(Exception $e){

  |

  }

  6. 也可簡(jiǎn)單使用 Exception 捕獲

  代碼說(shuō)明:

  <?php

  //定義了一個(gè)異常

  class MyException1 extends Exception{

  }

  class MyException2 extends Exception{

  }

  function A(){

  throw new MyException1("a");

  }

  function B(){

  throw new MyException2("b")

  }

  function C(){

  try{

  A();//拋出MyException1

  B();//拋出MyException2

  }catch(Exception1 $e1){

  $e1->getMessage();

  }catch(Exception2 $e2){

  $e2->getMesage();

  }

  }

  ?>

  異常的規(guī)則

  需要進(jìn)行異常處理的代碼應(yīng)該放入 try 代碼塊內(nèi),以便捕獲潛在的異常。

  每個(gè) try 或 throw 代碼塊必須至少擁有一個(gè)對(duì)應(yīng)的 catch 代碼塊。

  使用多個(gè) catch 代碼塊可以捕獲不同種類(lèi)的異常。

  可以在 try 代碼塊內(nèi)的 catch 代碼塊中拋出(再次拋出)異常。

  簡(jiǎn)而言之:如果拋出了異常,就必須捕獲它。或者使用頂級(jí)異常處理器處理。

  如果不拋,即使有異常也不會(huì)捕獲,不會(huì)處理