<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Exception Class Heirarchy in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084478#M1704597</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAP implemented exception classes to capture exceptions. CX_ROOT acts as root class for all Exception Class.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tracking which exception can be raised by a class is easy since it is defined the definition but how about procedural language. example in case of SQL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Statement, Read table etc...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E.g. Select ABCD from ABCD where (dynamic clause).&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch &amp;lt;CX_????&amp;gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endtry.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Is there some document which maps exception raised by non-oops part of ABAP. If not how to find which all possible exceptions can be raised.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chirantan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 11 Oct 2012 11:44:29 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2012-10-11T11:44:29Z</dc:date>
    <item>
      <title>Exception Class Heirarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084478#M1704597</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAP implemented exception classes to capture exceptions. CX_ROOT acts as root class for all Exception Class.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tracking which exception can be raised by a class is easy since it is defined the definition but how about procedural language. example in case of SQL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Statement, Read table etc...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E.g. Select ABCD from ABCD where (dynamic clause).&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch &amp;lt;CX_????&amp;gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endtry.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Is there some document which maps exception raised by non-oops part of ABAP. If not how to find which all possible exceptions can be raised.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chirantan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Oct 2012 11:44:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084478#M1704597</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-10-11T11:44:29Z</dc:date>
    </item>
    <item>
      <title>Re: Exception Class Heirarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084479#M1704598</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've found that most of the time the Documentation for a statement (F1-Help on the keyword) will tell what exceptions a statement can raise. Although I see your point, the only mention of a dynamic sql exception I see is in the example. It would be nice to have a more reliable source for this information. Also, props to you for attempting robust error handling! &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/1031/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 10pt; font-family: Courier New;"&gt;TRY.&lt;/STRONG&gt; &lt;BR /&gt;&lt;STRONG style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT SINGLE *&lt;/STRONG&gt; &lt;BR /&gt;&lt;STRONG style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM spfli&lt;/STRONG&gt; &lt;BR /&gt;&lt;STRONG style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO spfli_wa&lt;/STRONG&gt; &lt;BR /&gt;&lt;STRONG style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE (cond_syntax).&lt;/STRONG&gt; &lt;BR /&gt;&lt;STRONG style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; CATCH cx_sy_dynamic_osql_error.&lt;/STRONG&gt; &lt;BR /&gt;&lt;STRONG style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE `Wrong WHERE condition!` TYPE 'I'.&lt;/STRONG&gt; &lt;BR /&gt;&lt;STRONG style="font-size: 10pt; font-family: Courier New;"&gt;ENDTRY.&lt;/STRONG&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2012 19:36:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084479#M1704598</guid>
      <dc:creator>alex_campbell</dc:creator>
      <dc:date>2012-10-18T19:36:23Z</dc:date>
    </item>
    <item>
      <title>Re: Exception Class Heirarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084480#M1704599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As Alex said, you could find the exception classes avaialable in the sap help (F1), as example for Open SQL:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://answers.sap.com/thread/sapevent:&amp;amp;quot;REPNDOCU_SE24_CX_SY_OPEN_SQL_DB&amp;amp;quot;" style="color: #005000;"&gt;CX_SY_OPEN_SQL_DB&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://answers.sap.com/thread/sapevent:&amp;amp;quot;REPNDOCU_SE24_CX_SY_DYNAMIC_OSQLSM&amp;amp;quot;" style="color: #005000;"&gt;CX_SY_DYNAMIC_OSQL_SEMANTICS&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://answers.sap.com/thread/sapevent:&amp;amp;quot;REPNDOCU_SE24_CX_SY_DYNAMIC_OSQLSY&amp;amp;quot;" style="color: #005000;"&gt;CX_SY_DYNAMIC_OSQL_SYNTAX&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/148919" width="450" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2012 11:33:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084480#M1704599</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-10-22T11:33:54Z</dc:date>
    </item>
    <item>
      <title>Re: Exception Class Heirarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084481#M1704600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Chirantan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the exceptions directly triggered from the ABAP commands are different to the OO-Exceptions and even different to the classic exceptions.&lt;/P&gt;&lt;P&gt;Indeed, ABAP has no less the 3 exception mechanisms...&lt;SPAN __jive_emoticon_name="shocked" __jive_macro_name="emoticon" class="jive_macro jive_macro_emoticon jive_emote" src="https://community.sap.com/1031/images/emoticons/shocked.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The ones of the ABAP commands are system exceptions and behave mostly like dynamic OO exceptions, i. e. the compiler does not check them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only possibility to find out which ones are thrown by a specific command is the documentation or trial and error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Stefan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2012 18:36:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084481#M1704600</guid>
      <dc:creator>wol</dc:creator>
      <dc:date>2012-10-22T18:36:49Z</dc:date>
    </item>
    <item>
      <title>Re: Exception Class Heirarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084482#M1704601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Stefan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One query here..Can we say that 'Error handling' in SAP happens via CATCH SYSTEM-EXCEPTIONS and the other two are actually 'Exception Handling'?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chirantan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2012 10:15:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084482#M1704601</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-11-15T10:15:40Z</dc:date>
    </item>
    <item>
      <title>Re: Exception Class Heirarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084483#M1704602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Chirantan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you could say that.&lt;/P&gt;&lt;P&gt;But in following there will be the question: "What is the difference between exceptions and errors?".&lt;/P&gt;&lt;P&gt;So I would suggest to name the tings by their names: System-Exception and Class based Exception. Btw. the third thing are classic exceptions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Stefan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2012 11:14:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084483#M1704602</guid>
      <dc:creator>wol</dc:creator>
      <dc:date>2012-11-15T11:14:31Z</dc:date>
    </item>
    <item>
      <title>Re: Exception Class Heirarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084484#M1704603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chirantan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To my knowledge, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[OLD Exception concept]&lt;/P&gt;&lt;P&gt;System-exception are raised by (ofcourse) system and if not caught in try.. catch block then 'runtime error' ( = dump ) occurs.&lt;/P&gt;&lt;P&gt;classical exceptions are something raised by 'raise exception' syntax and if the caller can handle them through 'sy-subrc'..,&lt;/P&gt;&lt;P&gt;Both are still 'Exceptions'!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[NEW OO Exception concept and System-exceptions]&lt;/P&gt;&lt;P&gt;every system-exception has now OO equivalent exception..both old and new exceptions exists in parallel!&lt;/P&gt;&lt;P&gt;these system-exceptions fall under category 'CX_DYNAMIC_CHECK' of OO Exceptions..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In above example given by Felipe, OO Exception &lt;A _jive_internal="true" href="https://answers.sap.com/thread/sapevent:&amp;amp;quot;REPNDOCU_SE24_CX_SY_OPEN_SQL_DB&amp;amp;quot;" style="font-size: 12px; background-color: #ffffff; color: #3778c7; text-decoration: underline !important;"&gt;CX_SY_OPEN_SQL_DB&lt;/A&gt; is equivalent to (old) multiple system-exceptions e.g. DBIF_RSQL_SQL_ERROR, DBIF_RSQL_INVALID_RSQL etc..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can get the actual 'Runtime error ID' (i.e. old system-exception text) which caused the exception as a attribute 'KERNEL_ERRID' of the OO Exception (It is availble from the root exception cx_root).. i.e. mapping of system-exception to OO exception..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it helps in clarification..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Abhijit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 17 Nov 2012 22:43:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/exception-class-heirarchy/m-p/9084484#M1704603</guid>
      <dc:creator>Abhijit</dc:creator>
      <dc:date>2012-11-17T22:43:15Z</dc:date>
    </item>
  </channel>
</rss>

