gpt4 book ai didi

java - 如何在我的 Java 代码中抛出异常?

转载 作者:行者123 更新时间:2023-12-05 00:07:33 24 4
gpt4 key购买 nike

我有一个方法可以打印出动物的名字。如果 id 不是给定的 id 之一,我现在需要打印出一个错误。它是如何工作的?

class Methode {
static final int DEER = 0;
static final int BIRD = 1;
static final int COW = 2;
static final int PIG = 3;

public static void main(String[] args) {
printAnimal();
}

public static void printAnimal (int id) {
if (id == DEER) {
System.out.println("Deer");
}
else if (id == BIRD) {
System.out.println("Bird");
}
else if (id == COW) {
System.out.println("COW");
}
else if (id == PIG) {
System.out.println("Pig");
}
}
}

最佳答案

If by error 你的意思是 Exception(否则我不知道你为什么不像在 else if 中那样简单地打印一条“错误”消息分支),那么您需要创建一个扩展 Exception 的自定义类并将其放入新的 else 分支。这是一个例子:

异常:

public class NoSuchAnimalException extends Exception {
public NoSuchAnimalException(String message) {
super(message);
}
}

测试:

public static void printAnimal(int id) throws NoSuchAnimalException {
if (id == DEER) {
System.out.println("Deer");
} else if (id == BIRD) {
System.out.println("Bird");
} else if (id == COW) {
System.out.println("COW");
} else if (id == PIG) {
System.out.println("Pig");
} else {
throw new NoSuchAnimalException("No such animal");
}
}

public static void main(String[] args) {
try {
printAnimal(6);
} catch (NoSuchAnimalException e) {
System.out.println(e.getMessage());
}
}

异常会在最后的else中抛出(方法调用中提供的id不满足前面的要求),在public static void main()<中处理 方法。

关于java - 如何在我的 Java 代码中抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60263774/

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