As you stated, the 3rd condition is not satisfied. Recover won't work in a nested function because panic
propagates through the call stack "downward" and in the 2nd snippet, the recover()
call in the customRecover
function is "upward" from the panic perspective, so it doesn't "see" the panic.