gpt4 book ai didi

java - 找不到符号,如何编写自定义异常类

转载 作者:行者123 更新时间:2023-12-01 17:37:25 26 4
gpt4 key购买 nike

如何编写自己的自定义异常类。

我正在尝试编写自己的异常类来抛出 InvalidTestScore。

// george beazer
import java.util.Scanner;

public class TestScores{
public static void main(String[]args){
int numTests = 0;
double[] grade = new double[numTests];
double totGrades = 0;
double average;

Scanner keyboard = new Scanner(System.in);
System.out.print("How many tests do you have? ");

numTests = keyboard.nextInt();
grade = new double[(int) numTests];

for (int index = 0; index < grade.length; index++){
System.out.print("Enter grade for Test " + (index + 1) + ": ");
grade[index] = keyboard.nextDouble();

if (grade[index] < 0 || grade[index]> 100){
try {
throw new InvalidTestScore();

} catch (InvalidTestScore e)
{

e.printStackTrace();

}
}
}


for (int index = 0; index < grade.length; index++){
totGrades += grade[index];
}

average = totGrades/grade.length;
System.out.print("The average is: " + average);
}

}

最佳答案

只需扩展异常:

public class InvalidTestScoreException extends Exception {

public InvalidTestScoreException() {
super("Invalid test score");
}

public InvalidTestScoreException(String message) {
super(message);
}

public InvalidTestScoreException(Throwable throwable) {
super(throwable);
}
}

另一方面,检查异常最初非常有吸引力。但您应该避免不必要的使用。检查异常用于强制程序员处理异常情况(这使得代码更可靠,因为异常情况不能被忽略)。

此外,当条件可恢复时,会使用已检查异常。这意味着当您使用检查异常时,有一个合理的假设,即程序员可以从此异常中恢复。

使用运行时异常来指示编程错误。例如,如果违反了方法的前提条件,则可以使用 IllegalArgumentException。考虑到您的示例,此异常可能更有意义。

如果您可以使用适当的标准异常来代替受检查的异常,请这样做,而不是创建模仿现有功能的新异常 (DRY)。

关于java - 找不到符号,如何编写自定义异常类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4927147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com