Exception/NULL/Error handling advice. - C#