File: CHKERRQ.html

package info (click to toggle)
petsc 3.7.5%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 163,864 kB
  • ctags: 618,438
  • sloc: ansic: 515,133; python: 29,793; makefile: 20,458; fortran: 18,998; cpp: 6,515; f90: 3,914; sh: 1,012; xml: 621; objc: 445; csh: 240; java: 13
file content (63 lines) | stat: -rw-r--r-- 4,878 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/CHKERRQ.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>CHKERRQ</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.7.5 2017-01-01</b></div>
   <div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.7.5 v3.7.5 docs/manualpages/Sys/CHKERRQ.html "><small>Report Typos and Errors</small></a></div>
<A NAME="CHKERRQ"><H1>CHKERRQ</H1></A>
Checks error code, if non-zero it calls the error handler and then returns 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include &lt;petscsys.h&gt;
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../Sys/CHKERRQ.html#CHKERRQ">CHKERRQ</A>(<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> errorcode)
</PRE>
Not Collective
<P>
<H3><FONT COLOR="#CC3333">Input Parameters</FONT></H3>
<DT><B>errorcode </B> -nonzero error code, see the list of standard error codes in include/petscerror.h
<br>
<P>

<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
Once the error handler is called the calling function is then returned from with the given error code.
<P>
Experienced users can set the error handler with <A HREF="../Sys/PetscPushErrorHandler.html#PetscPushErrorHandler">PetscPushErrorHandler</A>().
<P>
<A HREF="../Sys/CHKERRQ.html#CHKERRQ">CHKERRQ</A>(n) is fundamentally a macro replacement for
if (n) return(<A HREF="../Sys/PetscError.html#PetscError">PetscError</A>(...,n,...));
<P>
Although typical usage resembles "void <A HREF="../Sys/CHKERRQ.html#CHKERRQ">CHKERRQ</A>(<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A>)" as described above, for certain uses it is
highly inappropriate to use it in this manner as it invokes return(<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A>). In particular,
it cannot be used in functions which return(void) or any other datatype.  In these types of functions,
you can use CHKERRV() which returns without an error code (bad idea since the error is ignored or
if (n) {<A HREF="../Sys/PetscError.html#PetscError">PetscError</A>(....); return(YourReturnType);}
where you may pass back a NULL to indicate an error. You can also call CHKERRABORT(comm,n) to have
MPI_Abort() returned immediately.
<P>
In Fortran MPI_Abort() is always called
<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../Sys/PetscTraceBackErrorHandler.html#PetscTraceBackErrorHandler">PetscTraceBackErrorHandler</A>(), <A HREF="../Sys/PetscPushErrorHandler.html#PetscPushErrorHandler">PetscPushErrorHandler</A>(), <A HREF="../Sys/PetscError.html#PetscError">PetscError</A>(), <A HREF="../Sys/SETERRQ.html#SETERRQ">SETERRQ</A>(), <A HREF="../Sys/CHKMEMQ.html#CHKMEMQ">CHKMEMQ</A>, <A HREF="../Sys/SETERRQ1.html#SETERRQ1">SETERRQ1</A>(), <A HREF="../Sys/SETERRQ2.html#SETERRQ2">SETERRQ2</A>(), <A HREF="../Sys/SETERRQ2.html#SETERRQ2">SETERRQ2</A>()
<BR><P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>beginner
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/sys/error/../../../include/petscerror.h.html#CHKERRQ">src/sys/error/../../../include/petscerror.h</A>
<BR><A HREF="./index.html">Index of all Sys routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
<P><H3><FONT COLOR="#CC3333">Examples</FONT></H3>
<A HREF="../../../src/sys/classes/viewer/examples/tutorials/ex1.c.html">src/sys/classes/viewer/examples/tutorials/ex1.c.html</A><BR>
<A HREF="../../../src/sys/classes/viewer/examples/tutorials/ex2.c.html">src/sys/classes/viewer/examples/tutorials/ex2.c.html</A><BR>
<A HREF="../../../src/sys/classes/random/examples/tutorials/ex1.c.html">src/sys/classes/random/examples/tutorials/ex1.c.html</A><BR>
<A HREF="../../../src/sys/classes/random/examples/tutorials/ex2.c.html">src/sys/classes/random/examples/tutorials/ex2.c.html</A><BR>
<A HREF="../../../src/sys/examples/tutorials/ex1.c.html">src/sys/examples/tutorials/ex1.c.html</A><BR>
<A HREF="../../../src/sys/examples/tutorials/ex2.c.html">src/sys/examples/tutorials/ex2.c.html</A><BR>
<A HREF="../../../src/sys/examples/tutorials/ex3.c.html">src/sys/examples/tutorials/ex3.c.html</A><BR>
<A HREF="../../../src/sys/examples/tutorials/ex4.c.html">src/sys/examples/tutorials/ex4.c.html</A><BR>
<A HREF="../../../src/sys/examples/tutorials/ex5.c.html">src/sys/examples/tutorials/ex5.c.html</A><BR>
<A HREF="../../../src/sys/examples/tutorials/ex9.c.html">src/sys/examples/tutorials/ex9.c.html</A><BR>
<A HREF="../../../src/sys/examples/tutorials/ex11.c.html">src/sys/examples/tutorials/ex11.c.html</A><BR>
</BODY></HTML>