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? 

Best, 

Cédric 


Reply via email to