try catch finally completion