[petsc-users] Error and success codes

Jed Brown jed at jedbrown.org
Mon Aug 25 11:47:25 CDT 2014


Cedric Doucet <cedric.doucet at inria.fr> writes:

> Hello, 
>
> I want to manage errors with CHKERRQ macro in void functions. 
>
> I do not want to use CHKERRV. 
> I prefer to modify void functions so that they return an error code. 
>
> However, it seems CHKERRQ returns a value in case of failure only. 
> Example below does not seem to compile without warning (Wreturn-type flag): 
>
> -------------------------- 
> PetscErrorCode foo() 
> { 
> PetscErrorCode code = somePetscFunction(); 
> CHKERRQ(code); 
> } 
> -------------------------- 
>
> I guess I need to return a success code like this: 
>
> -------------------------- 
> PetscErrorCode foo() 
> { 
> PetscErrorCode code = somePetscFunction(); 
> CHKERRQ(code); 
> return PETSC_SUCCESS_CODE; 
> } 
> -------------------------- 
>
> However, I do not know the value of the success code of Petsc. 
> I guess it is zero but I would prefer to use a macro sucha as PETSC_SUCCESS_CODE in the above example. 
> Does such a macro exist? 

No, use 0.  It's less typing and that is something that will definitely
never change.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140825/14d4f574/attachment.pgp>


More information about the petsc-users mailing list