<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le blog du dev grincheux &#187; PHP</title>
	<atom:link href="https://blog.developpez.com/shikiryu/category/developpement/php/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/shikiryu</link>
	<description></description>
	<lastBuildDate>Thu, 06 Jun 2013 14:44:09 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Fatal error: Uncaught thrown in&#8230;</title>
		<link>https://blog.developpez.com/shikiryu/developpement/php/erreurs/fatal-error-uncaught-thrown-in</link>
		<comments>https://blog.developpez.com/shikiryu/developpement/php/erreurs/fatal-error-uncaught-thrown-in#comments</comments>
		<pubDate>Mon, 06 May 2013 13:38:57 +0000</pubDate>
		<dc:creator><![CDATA[Shikiryu]]></dc:creator>
				<category><![CDATA[Erreurs]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/shikiryu/?p=70</guid>
		<description><![CDATA[Quand vous voulez utiliser les exceptions, n&#8217;oubliez pas que quand vous la lancez (throw), il faut aussi la rattraper (catch). Pensez BASE-BALL ! Exemple : 1234567891011class MonException extends Exception&#123;&#125; class MaString &#123; &#160; &#160; public function __construct&#40;$string&#41;&#123; &#160; &#160; &#160; &#8230; <a href="https://blog.developpez.com/shikiryu/developpement/php/erreurs/fatal-error-uncaught-thrown-in">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Quand vous voulez utiliser les exceptions, n&rsquo;oubliez pas que quand vous la lancez (<em>throw</em>), il faut aussi la rattraper (<em>catch</em>). Pensez <em><strong>BASE-BALL</strong></em> !<br />
<a href="http://blog.developpez.com/shikiryu/files/2013/05/dvp005.png"><img src="http://blog.developpez.com/shikiryu/files/2013/05/dvp005-300x300.png" alt="BaseBall" width="300" height="300" class="aligncenter size-medium wp-image-82" /></a><br />
<span id="more-70"></span></p>
<p>Exemple :</p>
<div class="codecolorer-container php twitlight codecolorer-noborder" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">class</span> MonException <span style="color: #000000; font-weight: bold;">extends</span> Exception<span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">class</span> MaString <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #000088;">$string</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/is_string"><span style="color: #990000;">is_string</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$string</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">throw</span> MonException<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'oops'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> MaString<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Vous voyez l&rsquo;erreur là ? C&rsquo;est simple, vous ne passez pas de chaîne de caractères (string) à votre constructeur, il lance donc l&rsquo;exception qui n&rsquo;est jamais rattrapée.</p>
<p>Ainsi, il faudrait faire comme ceci :</p>
<div class="codecolorer-container php twitlight codecolorer-noborder" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">try<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> MaString<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span>catch<span style="color: #009900;">&#40;</span>MonException <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Faire quelque chose… ou pas.</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Paf ! C&rsquo;est rattrapé ! Plus d&rsquo;erreurs et vous avez appris en partie à utiliser les exceptions ! <img src="https://blog.developpez.com/shikiryu/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
