Symbian3/SDK/Source/GUID-EA71F52C-DB4C-500D-9051-31BEF29E171D.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-EA71F52C-DB4C-500D-9051-31BEF29E171D" xml:lang="en"><title>Basic
exception support</title><shortdesc>Describes the operating support for exceptions.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The basic operating system support for exceptions comes from</p>
<ul>
<li id="GUID-E168AD4F-366A-5EAF-98F2-0C1B187E1AE0"><p>the <codeph>TRAP</codeph> macro
and its variant, <codeph>TRAPD</codeph>, which allow code to be run under
a <keyword>trap harness</keyword> </p> </li>
<li id="GUID-3B4C9F10-A89C-5979-ABC7-5106C7B9AFED"><p>the <codeph>User::Leave()</codeph> call,
which terminates the current function, and returns to the trap harness, specifying
an error code.</p> </li>
</ul>
<p>These are analogous to C++’s exception handling support (<codeph>try/catch</codeph> and <codeph>throw</codeph>). </p>
<p>By convention, all functions that can leave — directly or indirectly —
have an L appended onto their name (and can therefore be referred to as <keyword>L
functions</keyword>). The function invoked by a trap harness will always be
an L function. </p>
</conbody></concept>