more-idiomatic use of .NET Exceptions