|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-D542B24D-5A17-516C-85B0-66A5E8A97946" xml:lang="en"><title>Exception |
|
13 handling</title><shortdesc>Description of the functions related to Exception handling.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>When an exception occurs, such as dividing by zero or an access violation, |
|
15 what happens depends on whether the thread has an exception handler. If a |
|
16 thread has no exception handler or has an exception handler which will not |
|
17 handle the type of exception identified by the <xref href="GUID-7AF19D5F-E146-3BFA-9741-58B12D4E85A8.dita"><apiname>TExcType</apiname></xref> enumeration, |
|
18 then the exception is passed to the Kernel for handling. The default action |
|
19 is to panic the offending thread. </p> |
|
20 <p>If a thread has an exception handler, then the handler is executed in the |
|
21 context of the thread on which the exception is raised; control returns to |
|
22 the point of exception. If a thread calls <codeph>RaiseException()</codeph> and |
|
23 there is no handler for that type of exception, then a <codeph>KERN-EXEC 3</codeph> panic |
|
24 is raised. </p> |
|
25 <p>The following functions are involved in exception handling: </p> |
|
26 <ul> |
|
27 <li id="GUID-4A9F7B75-D1EF-5558-A24C-8BB7F31C12DD"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-E11E87FD-AFA4-353F-887B-EF36154E4B4E"><apiname>User::ExceptionHandler()</apiname></xref> </p> </li> |
|
28 <li id="GUID-BCC7FD2E-BEC7-5397-9E24-D9BBBDC00FBE"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-FDB3FF0D-705D-3EFE-9666-F26F7E390D54"><apiname>User::SetExceptionHandler()</apiname></xref> </p> </li> |
|
29 <li id="GUID-3C307BB1-D42D-5227-986A-4DBB235AC2FA"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-77B2CCE3-B8FB-331A-9E61-15B2040CEC70"><apiname>User::ModifyExceptionMask()</apiname></xref> </p> </li> |
|
30 <li id="GUID-A42D397F-8D73-5A9D-98BE-9F7668A0C148"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-6AB971F1-EE72-38E9-AA4A-9E0D8FACD4FE"><apiname>User::RaiseException()</apiname></xref> </p> </li> |
|
31 <li id="GUID-02647535-1F99-557D-AEC9-B3687799E2C6"><p> <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-3016380F-1101-395E-AEC8-1A1BA8DF3914"><apiname>User::IsExceptionHandled()</apiname></xref> </p> </li> |
|
32 </ul> |
|
33 </conbody></concept> |