Trying to understand proper error handling - C#