> php教程 > php手册 > 본문

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

WBOY
풀어 주다: 2016-06-13 11:09:20
원래의
1474명이 탐색했습니다.

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。


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!