[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