Symbian3/SDK/Source/GUID-A294084E-B5BB-54C6-A622-49F20E8C927B.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 7 51a74ef9ed63
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-A294084E-B5BB-54C6-A622-49F20E8C927B" xml:lang="en"><title>System Panic
Reference</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>Some types of error are due to bad program code, such as passing an illegal
parameter value. When this type of error is discovered, the thread associated
with the erroneous program should be terminated. On the Symbian platform,
this is a referred to as a <i>panic</i>. The only proper response to a panic
is to fix the program code. </p>
<p>Typically, a panic is not discovered by the program that made the error,
but by some library code which operates on behalf of that program. If the
library code is in a DLL running in the same thread as the program, it calls <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-D64BDAEB-AB87-37ED-9F4C-99516B40FFB8"><apiname>User::Panic()</apiname></xref> to
panic the thread. If the library code is in a server executing on behalf of
another program, the server panics the client thread by calling <xref href="GUID-78E0DEDD-C020-3174-AD0A-E4C18C4C9213.dita#GUID-78E0DEDD-C020-3174-AD0A-E4C18C4C9213/GUID-D88B9AD0-10A6-38F0-9A58-5C40AD811D6E"><apiname>RMessagePtr2::Panic()</apiname></xref>,
where <xref href="GUID-78E0DEDD-C020-3174-AD0A-E4C18C4C9213.dita"><apiname>RMessagePtr2</apiname></xref> is the handle to the message sent by
the client to the server. </p>
<p>Panics are characterized by two pieces of information: </p>
<ul>
<li id="GUID-237C51CA-6A12-5D15-A0F3-D64A22381C47"><p> <i>category</i> - a
string of up to sixteen characters, which defines the context
of a panic.</p> </li>
<li id="GUID-99B0F1AA-F0B7-527A-99D7-DFE1FAB0C292"><p> <i>panic number</i> -
a number that, in the context of a category, identifies the specific cause
of the panic. </p> </li>
</ul>
<p>The following lists the panics by panic category. Follow the links to see
the panic numbers associated with that category together with a description
of what the panics mean. </p>
</conbody></concept>