Better try/catch for c#