Java API中是否存在适用于无效命令行参数的异常类,或者我是否必须创建自己的命令行参数?我试过搜索一个,但在API中找不到任何内容。
这是一个赋值,所以我不能使用第三方库进行命令行解析。
答案 0 :(得分:9)
大多数情况下,当收到的参数无效时,抛出IllegalArgumentException
是一种常见的习惯用法。
public class IllegalArgumentException extends RuntimeException
抛出该异常 表示某个方法已被传递为非法或不合适 参数。
答案 1 :(得分:4)
处理未知命令行参数或对程序没有意义的组合的最佳方法是显示错误消息并提供用法输出。
就个人而言,根据命令行的复杂性,我将创建一个名为“usage”(通常是静态)的方法,该方法可以传递一个可选的错误消息。
在解析传递给程序的命令行参数时,我将调用此方法并通过标志或直接退出,或者让usage
方法调用退出。
但那只是我
答案 2 :(得分:0)
命令行参数以String[]
形式出现。如果你期望输入是以某种形式或某种顺序,你可以抛出你自己创建的异常来处理它(虽然抛出异常会终止程序;你需要优雅地处理它这是必需的。)