1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" /> 7<title>SetUserExceptionHandler</title> 8 </head> 9 <body> 10<h1><CODE>nn::os::ARM::SetUserExceptionHandler</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14void SetUserExceptionHandler( 15 <a href="../../../nn/os/ARM/UserExceptionHandler.html">UserExceptionHandler</a> pHandler, 16 uptr stackBottom 17); 18template <typename T> 19void SetUserExceptionHandler( 20 <a href="../../../nn/os/ARM/UserExceptionHandler.html">UserExceptionHandler</a> pHandler, 21 T * pStack 22); 23</pre> 24 </div> 25<h2>List of Overloaded Member Functions</h2> 26 <div class="section"> 27 <table class="members"> 28 <tr> 29 <td> 30<a href="./SetUserExceptionHandler(0).html"><CODE>SetUserExceptionHandler(UserExceptionHandler, uptr)</CODE> </a> 31 </td> 32<td>Sets the exception handler.</td> 33 </tr> 34 <tr> 35 <td> 36<a href="./SetUserExceptionHandler(1).html"><CODE>SetUserExceptionHandler(UserExceptionHandler, T *)</CODE> </a> 37 </td> 38<td>Sets the exception handler.</td> 39 </tr> </table> 40 </div> 41<h2>Description of <CODE>SetUserExceptionHandler(UserExceptionHandler, uptr)</CODE></h2> 42<div class="section"><p>When an exception handler is specified and an exception occurs, the function specified by the <SPAN class="argument">pHandler</SPAN> parameter is called in the context of the thread where the exception occurred. The stack specified in <SPAN class="argument">stackBottom</SPAN> is used.</p><p>The instances of <a href="../../../nn/os/ARM/ExceptionInfo/Overview.html"><CODE>ExceptionInfo</CODE></a> and <a href="../../../nn/os/ARM/ExceptionContext/Overview.html"><CODE>ExceptionContent</CODE></a> that are passed to <SPAN class="argument">pHandler</SPAN> are allocated from the stack specified by <SPAN class="argument">stackBottom</SPAN>. The minimum stack size, therefore, must be <CODE>sizeof(ExceptionContext) + sizeof(ExceptionInfo)</CODE>.</p><p>Note that special processing, such as disabling interrupts, is not used when calling the exception handler. The exception handler stack breaks if an exception occurs during exception handling.</p><p>Note that the exception handler cannot be called in the debug environment.</p><!-- write here --></div> 43<h2>Description of <CODE>SetUserExceptionHandler(UserExceptionHandler, T *)</CODE></h2> 44<div class="section"><p>When an exception handler is specified and an exception occurs, the function specified by the <SPAN class="argument">pHandler</SPAN> parameter is called in the context of the thread where the exception occurred. The stack specified by <SPAN class="argument">pStack</SPAN> is used.</p><p>The instances of <a href="../../../nn/os/ARM/ExceptionInfo/Overview.html"><CODE>ExceptionInfo</CODE></a> and <a href="../../../nn/os/ARM/ExceptionContext/Overview.html"><CODE>ExceptionContent</CODE></a> that are passed to <SPAN class="argument">pHandler</SPAN> are allocated from the stack specified by <SPAN class="argument">pStack</SPAN>. The minimum stack size, therefore, must be <CODE>sizeof(ExceptionContext) + sizeof(ExceptionInfo)</CODE>.</p><p>Note that special processing, such as disabling interrupts, is not used when calling the exception handler. The exception handler stack breaks if an exception occurs during exception handling.</p><p>Note that the exception handler cannot be called in the debug environment.</p><!-- write here --></div> 45 <hr><p>CONFIDENTIAL</p></body> 46</html> 47