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. In Symbian OS, this is a referred to as a panic. The only proper response to a panic is to fix the program code.
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
User::Panic()
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
RMessagePtr2::Panic()
, where
RMessagePtr2
is the handle to the message sent by the client to the server.
Panics are characterized by two pieces of information:
category - a sixteen-character string which defines the context of a panic.
panic number - a number that, in the context of a category, identifies the specific cause of the panic.
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.