
<?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>Waanser &#187; gestion d&#8217;erreur</title>
	<atom:link href="http://www.waanser.com/tag/gestion-derreur/feed" rel="self" type="application/rss+xml" />
	<link>http://www.waanser.com</link>
	<description>Un blog utilisant WordPress</description>
	<lastBuildDate>Wed, 07 Jul 2010 21:54:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Les exceptions en PL/SQL</title>
		<link>http://www.waanser.com/pl-sql/163-les-exceptions-en-plsql.html</link>
		<comments>http://www.waanser.com/pl-sql/163-les-exceptions-en-plsql.html#comments</comments>
		<pubDate>Tue, 30 Dec 2008 17:25:02 +0000</pubDate>
		<dc:creator>roul</dc:creator>
				<category><![CDATA[PL/SQL]]></category>
		<category><![CDATA[gestion d'erreur]]></category>

		<guid isPermaLink="false">http://www.waanser.com/?p=163</guid>
		<description><![CDATA[Le PL/SQL offre un moyen d&#8217;identifier et de traiter les éventuelles erreurs à l&#8217;aide du mécanisme des exceptions. Nous nous allons voir comment définir, déclencher et traiter les exceptions en PL/SQL. Le bloc PL/SQL possède comme structure type, celle-ci : [DECLARE] déclarations et initialisation BEGIN instructions exécutables [EXCEPTION] interception des erreurs END; Dans un premier [...]]]></description>
			<content:encoded><![CDATA[<p>Le PL/SQL offre un moyen d&#8217;identifier et de traiter les éventuelles erreurs à l&#8217;aide du mécanisme des exceptions. </p>
<p>Nous nous allons voir comment définir, déclencher et traiter les exceptions en PL/SQL. <span id="more-163"></span></p>
<p>Le bloc PL/SQL possède comme structure type, celle-ci :</p>
<p>[DECLARE]<br />
déclarations et initialisation<br />
BEGIN<br />
instructions exécutables<br />
[EXCEPTION]<br />
interception des erreurs<br />
END;</p>
<p>Dans un premier temps nous allons créer un bloc PL/SQL avec une erreur sans la gestion exception.<br />
Puis allons capturer l&#8217;erreur avec un la gestion d&#8217;exception.</p>
<pre class="brush: sql">
DECLARE
sName USERS.NAME%TYPE;
BEGIN
  BEGIN
    SELECT NAME INTO sName FROM USERS WHERE 0 = 1;
    DBMS_OUTPUT.PUT_LINE( sName ) ;
  END;
  DBMS_OUTPUT.PUT_LINE( &#039;Le script continue.&#039; ) ;
END;
/
</pre>
<p>eh la ! Oracle nous envoi une belle erreur !</p>
<p>On voit que le script s&#8217;est arrête dès l&#8217;apparition de l&#8217;erreur.</p>
<div id="attachment_175" class="wp-caption alignnone" style="width: 406px"><img src="http://media.waanser.com/2008/12/error.png" alt="error 01403 pl sql" title="error 01403 pl sql" width="396" height="224" class="size-full wp-image-175" /><p class="wp-caption-text">error 01403 pl sql</p></div>
<p>On va capturer l&#8217;erreur en déclarant une exception.</p>
<p>Voici ce que cella va donnée :</p>
<pre class="brush: sql">
DECLARE
sName USERS.NAME%TYPE;
BEGIN
  BEGIN
    SELECT NAME INTO sName FROM USERS WHERE 0 = 1;
    DBMS_OUTPUT.PUT_LINE( sName ) ;
  EXCEPTION
  WHEN NO_DATA_FOUND then
      DBMS_OUTPUT.PUT_LINE( &#039;Il n&#039;&#039;y a aucun utilisateur.&#039; ) ;
  END;
  DBMS_OUTPUT.PUT_LINE( &#039;Le script continue.&#039; ) ;
END;
/
</pre>
<p>note à part : pour mettre  échapper un caractère en PL/SQL, il faut simplement le doubler . ex :<br />
(&#8216; => &nbsp;&raquo;)<br />
(&nbsp;&raquo; =>&nbsp;&raquo;")<br />
( =>\)</p>
<p>Après exécution du bloc, on voit que l&#8217;erreur n&#8217;apparait pas (elle est capturée) et que le script continu à tourner <img src='http://www.waanser.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_178" class="wp-caption alignnone" style="width: 472px"><img src="http://media.waanser.com/2008/12/exception-data-not-found.png" alt="exception-data-not-found" title="exception-data-not-found" width="462" height="124" class="size-full wp-image-178" /><p class="wp-caption-text">exception-data-not-found</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.waanser.com/pl-sql/163-les-exceptions-en-plsql.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

