抛出在Java中是如何工作的?
我一直在用接球,现在我不得不用掷球。 这就是我所得到的,我无法找出缺少的东西,这样它就会起作用抛出在Java中是如何工作的?,java,throws,Java,Throws,我一直在用接球,现在我不得不用掷球。 这就是我所得到的,我无法找出缺少的东西,这样它就会起作用 public static void main(String args[]){ Exception_Tester et = new Exception_Tester(); int x1; int x2; x1=5; x2=0; et.printResults(x1,x2); } static void pr
public static void main(String args[]){
Exception_Tester et = new Exception_Tester();
int x1;
int x2;
x1=5;
x2=0;
et.printResults(x1,x2);
}
static void printResults(int a, int b) throws ArithmeticException {
System.out.println("Add: "+(a+b));
System.out.println("Sub: "+(a-b));
System.out.println("Mul: "+(a*b));
System.out.println("Div: "+(a/b));
}
尝试在try语句中围绕a/b。
然后,在catch中,抛出异常。您的printResults方法声明它可以抛出一个类型为arithmetricException的异常。为了实现这一点,需要在方法内部出错,例如,如果b参数为零,将引发异常。如果您想显式地抛出异常,您需要在方法中使用类似这样的抛出语句
throw new ArithmeticException();
在捕捉到异常之前。您的代码必须首先抛出异常。有时会出现运行时异常,代码本身会抛出这些异常。但有时,当某些条件变为真时,需要抛出一个自定义异常。为此,您可以使用这个throw关键字并为代码抛出一个异常来捕获它 这是一个样本
public Object pop() {
Object obj;
if (size == 0) {
throw new EmptyStackException();
}
obj = objectAt(size - 1);
setObjectAt(size - 1, null);
size--;
return obj;
}
它会按照习惯抛出异常,然后您就可以捕获它了
尽管如果堆栈为零。它可能不会抛出该异常。所以你自己让代码自己抛出这个异常,然后在某个地方处理它。为此,您将使用try{}catch{}
更多信息:创建一个自定义异常类,并从您认为可能发生的任何地方抛出异常
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
例如,在方法中的除法运算中。你可以像…一样使用它
static void printResults(int a, int b){
if(b == 0 ) {
throw new MyException("Division by Zero");
} else {
System.out.println("Div: "+(a/b));
}
}
也许可以帮助你。在什么方面它目前不工作?请张贴完整的源代码。Exception_Tester未定义,如果主方法的类是Exception_Tester,则应以静态方式调用et.printResultsx1,x2->Exception_Tester.printResultsx1,x2。在执行除法之前,请评估b是否为零。如果是,抛出一个新的算术异常,因为您不应该执行0除法。