当字符串输入参数的第一个字符不是预期的字符时,java将引发什么异常?
public static void readInput(String str) {
char firstChar = str.charAt(0);
if(!isAlphabet(firstChar))
//throw exception
//continue process
}
第一个字符应仅在ASCII字母表(65-122)内。我应该为此抛出IllegalArguementException
吗
# 1 楼答案
异常处理是非常棘手的。从我读过的智慧中,我能提炼出的最佳实践是:
IllegalArgumentException
是未经检查的异常,因为它继承自RuntimeException
。我会将其用于参数无效且情况无法恢复的情况(即,我不能只要求用户提供新的有效参数)。如果我是从提示中获取输入,我可能只是抛出一个选中的异常,捕捉它并提示用户输入新的输入