Cedric Doucet <[email protected]> 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.

Attachment: pgpof9XjcKAEf.pgp
Description: PGP signature

Reply via email to