Why bother with the `if`? I'd use:
```
    try:
        return action(item)
    except ignore_exception:
        return
```
and default ignore_exception to `(,)` (the empty set of exceptions)