This topic explains how to panic on an illegal value.
This simple example of the use of __ASSERT_ALWAYS shows how to panic on an illegal value.
Suppose the member function F() in class CMyClass, takes a TInt argument which must always be zero or positive.
void CMyClass::F(TInt aValue) { _LIT(KMyPanicDescriptor, "My panic text"); __ASSERT_ALWAYS(aValue >= 0,User::Panic(KMyPanicDescriptor, aValue)); ... /* main body of the function */ ... }
If the caller passes a value which is negative, the current thread is panicked.