Heim  >  Artikel  >  php教程  >  PHP中try{}catch{}的具体用法详解

PHP中try{}catch{}的具体用法详解

WBOY
WBOYOriginal
2016-06-13 11:09:201478Durchsuche

try
{ //...}
catch(Exception $e)
{ //...}

PHP中try{}catch{}是异常处理.

将要执行的代码放入TRY块中,如果这些代码执行过程中某一条语句发生异常,则程序直接跳转到CATCH块中,由$e收集错误信息和显示.

PHP中try{}catch{}语句

为了进一步处理异常,我们需要使用PHP中try{}catch{}----包括Try语句和至少一个的catch语句。任何调用 可能抛出异常的方法的代码都应该使用try语句。Catch语句用来处理可能抛出的异常。以下显示了我们处理getCommandObject()抛出的异常的方法:

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php   </span></span></span></li>
<li><span>try {   </span></li>
<li class="alt">
<span>$</span><span class="attribute">mgr</span><span> = </span><span class="attribute-value">new</span><span> CommandManager();   </span>
</li>
<li>
<span>$</span><span class="attribute">cmd</span><span> = $mgr-</span><span class="tag">></span><span>getCommandObject("realcommand");   </span>
</li>
<li class="alt">
<span>$cmd-</span><span class="tag">></span><span>execute();   </span>
</li>
<li><span>} catch (Exception $e) {   </span></li>
<li class="alt">
<span>print $e-</span><span class="tag">></span><span>getMessage();   </span>
</li>
<li><span>exit();   </span></li>
<li class="alt"><span>}   </span></li>
<li>
<span class="tag">?></span><span>   </span>
</li>
</ol>

可以看到,通过结合使用throw关键字和PHP中try{}catch{},我们可以避免错误标记“污染”类方法返回的值。因为“异常”本身就是一种与其它任何对象不同的PHP内建的类型,不会产生混淆。

如果抛出了一个异常,try语句中的脚本将会停止执行,然后马上转向执行catch语句中的脚本。

如果异常抛出了却没有被捕捉到,就会产生一个fatal error。


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn