|
Java自定义异常处理代码的示例源码
Java自定义异常处理代码,以下面示例为代表展示一下源码:
编写一个程序,在命令行输入一个学生的成绩,输出相应的等级。其中,成绩大于90分输出”A”, 80-89输出“B”,70-79输出“C”,60-69输出“D”,60以下输出“E”,要求输入分数的值在0-100之间。自定义异常类NumberRangeException,当输入数据不在0-100之间时,输出等级的方法void show(int score)将抛出自定义异常。
- class NumberRangeException extends Exception {
- public NumberRangeException(String message) {
- super(message);
- }
- }
- class GradeCalculator {
- public static void show(int score) throws NumberRangeException {
- if (score < 0 || score > 100) {
- throw new NumberRangeException("分数应在0-100之间");
- }
- if (score > 90) {
- System.out.println("A");
- } else if (score >= 80) {
- System.out.println("B");
- } else if (score >= 70) {
- System.out.println("C");
- } else if (score >= 60) {
- System.out.println("D");
- } else {
- System.out.println("E");
- }
- }
- }
- public class Main {
- public static void main(String[] args) {
- try {
- // 从命令行输入读取成绩
- int score = Integer.parseInt(args[0]);
- GradeCalculator.show(score);
- } catch (NumberFormatException e) {
- System.out.println("输入格式无效,请输入有效的分数");
- } catch (NumberRangeException e) {
- System.out.println(e.getMessage());
- }
- }
- }
复制代码 在这段代码中,我们定义了一个名为 NumberRangeException 的自定义异常类,它继承自 Exception 类。 GradeCalculator 类中的 show 方法接收一个成绩输入,并在成绩不在0-100的范围内时抛出 NumberRangeException 异常。 main 方法从命令行输入读取成绩,调用 show 方法,并处理可能出现的异常。 要编译和运行该程序,您可以将其保存为名为 Main.java 的文件,并在命令行中执行以下命令:
- javac Main.java
- java Main <score>
复制代码 将 <score> 替换为实际的成绩值进行测试。程序将根据成绩输出相应的等级。如果输入的成绩无效或超出范围,将显示相应的错误消息。
|
|