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

<p>在php语言中有许多语法需要我们去不断的熟悉,然后才能灵活的运用,编写我们需要的代码程序。在这篇文章中我们将为大家介绍PHP中try{}catch{}的用法。</p><p>try</p><p>{ //...}</p><p>catch(Exception $e)</p><p>{ //...}</p><p>PHP中try{}catch{}是异常处理.</p><p>将要执行的代码放入TRY块中,如果这些代码执行过程中某一条语句发生异常,则程序直接跳转到CATCH块中,由$e收集错误信息和显示.</p><p>PHP中try{}catch{}语句</p><p>为了进一步处理异常,我们需要使用PHP中try{}catch{}----包括Try语句和至少一个的catch语句。任何调用 可能抛出异常的方法的代码都应该使用try语句。Catch语句用来处理可能抛出的异常。以下显示了我们处理getCommandObject()抛出的 异常的方法:</p><p>&lt; ?php </p><p>try { </p><p>$mgr = new CommandManager(); </p><p>$cmd = $mgr-&gt;getCommandObject(&quot;realcommand&quot;); </p><p>$cmd-&gt;execute(); </p><p>} catch (Exception $e) { </p><p>print $e-&gt;getMessage(); </p><p>exit(); </p><p>} </p><p>?&gt; </p><p>可以看到,通过结合使用throw关键字和PHP中try{}catch{},我们可以避免错误标记&quot;污染&quot;类方法返回的值。因为&quot;异常&quot;本身就是一种与其它任何对象不同的PHP内建的类型,不会产生混淆。</p><p>如果抛出了一个异常,try语句中的脚本将会停止执行,然后马上转向执行catch语句中的脚本。</p><p>如果异常抛出了却没有被捕捉到,就会产生一个fatal error。</p><p>php try catch的使用</p><p>function ActionSend($mobile, $key=&#39;&#39;)</p><p>{</p><p></p><p> try</p><p>{</p><p> if (empty($key)) {</p><p> throw new Exception(&#39;key值不能为空&#39;);</p><p> }</p><p> if($key != &#39;adfasdfdasfs&#39;) {</p><p> throw new Exception(&#39;key值不一致&#39;);</p><p> }</p><p> echo &#39;oo&#39;;</p><p>}</p><p>catch(Exception $e)</p><p>{</p><p> $info[&#39;msg&#39;] = $e-&gt;getMessage();</p><p>}</p><p>return $info;</p><p>}</p><p>Try - 使用异常的函数应该位于 &quot;try&quot; 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。</p><p>Throw - 这里规定如何触发异常。每一个 &quot;throw&quot; 必须对应至少一个 &quot;catch&quot;</p><p>Catch - &quot;catch&quot; 代码块会捕获异常,并创建一个包含异常信息的对象</p><p>当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 &quot;catch&quot; 代码块。</p><p>如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 &quot;Uncaught Exception&quot; (未捕获异常)的错误消息。</p>
RangeTime:0.008464s
RangeMem:206.55 KB
返回顶部 留言