您好,我是一名初学者程序员,我刚刚学习 Java 中的异常,并且我所学到的有关异常的知识是自学的,尚未在类里面介绍。我希望有一个简单的方法,它只接受 4 个特定的字符串作为输入,否则不起作用。我现在所拥有的看起来像这样:
public void setRating(String rating){
switch (rating){
case "G":
case "PG":
case "R":
case "NR": this.rating = rating;
break;
default: throw new IllegalArgumentException();
}
}
这工作正常,但如果我随后编写无效代码,例如:
setRating("invalid");
我的代码编译后不会发送错误消息,直到我尝试运行它。
我的问题是:有没有办法编写这个以便在编译时捕获它?在我看来,将来允许像这样编译无效代码可能会让使用我的代码的人感到头疼。不确定这是否是一个愚蠢的问题,甚至是我应该担心的事情,但任何见解将不胜感激!
最佳答案
使用 enum
,以便以编译器可以理解的方式定义允许的值。
public enum Rating {
G, PG, R, NR
}
<小时/>
public void setRating(Rating rating){
this.rating = rating;
}
<小时/>
setRating(Rating.G);
关于java - 如何在编译过程中捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42964166/