Skip to main content
`Ctrl`+`K`

# PetscTryTypeMethod

Call a method on a `PetscObject`, that is a function in the objects function table `obj->ops`, skip if the method does not exist

## Synopsis

    #include "petsc/private/petscimpl.h"
    PetscTryTypeMethod(obj, method, other_args)

## Input Parameters

- obj - the object, for example a `Mat`, that does not need to be cast to `PetscObject`

- method - the name of the method, for example, mult for the PETSc routine `MatMult()`

- other_args - the other arguments for the method, `obj` is the first argument

## Note

This does not return an error code, it is a macro that returns from the subroutine with an error code on error.

Use `PetscUseMethod()` or `PetscTryMethod()` to call functions that have been composed to an object with `PetscObjectComposeFunction()`

## See Also

`PetscTryMethod()`, `PetscUseMethod()`, `PetscCall()`, `PetscCheck()`, `PetscUseTypeMethod()`

## Level

developer

## Location

include/petsc/private/petscimpl.h

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages