Further to the other answer: if you need a return value, use Func instead of Action.
// method definition...
T ExecuteInTryCatch<T>(Func<T> block)
{
try
{
return block();
}
catch (SomeException e)
{
// handle e
}
}
// using the method...
int three = ExecuteInTryCatch(() => { return 3; })