Код, который вы предоставите, не будет компилироваться, поэтому трудно определить проблему. Тем не менее, вызов fun1 не выполняется или блок catch в fun1 не выполняется.
Я бы поставил Debug.WriteLine("In fun1");
перед попыткой fun1. Если вы не видите этого в выводе, то вы знаете, что вызов fun1 не удался. Если вы видите этот вывод, то вы знаете, что блок catch не работает.