如果我编写的程序需要超过2个命令行参数并且用户给它的参数数量不足,我应该抛出什么异常?我想使用集成的异常处理。
答案 0 :(得分:4)
您不应该使用例外。
确实,正如@Jennifer所回答的那样,ArgumentException
是无效参数的标准例外。但这并不是它通常使用的,不是其他程序员期望阅读代码的内容,也不是用户期望运行程序的内容。
ArgumentException
通常表示程序员错误,其中你传递了无效的参数。它表示代码中存在错误:您应该修复代码以传入有效参数,或者如果您知道没有有效参数则避免调用。
在这种情况下,这是不可能的。在Main
中获取无效参数是用户错误,而不是程序员错误,应该以不同方式处理用户错误。抛出异常会导致糟糕的用户体验:未处理的异常会导致程序崩溃并让Windows在线搜索解决方案。这里应该做的就是打印错误消息,理想情况下退出非零状态代码。没有异常类型具有这种效果。
答案 1 :(得分:1)
ArgumentException
是无效参数的标准。
当提供给方法的其中一个参数无效时抛出的异常。