在 throw Exception 中发现错误
finding error in throw Exception
我从我的代码中收到此错误,似乎无法找到解决方案。这是我第一次处理 java 中的抛出异常。感谢您的帮助!
C:\Users\acer\Documents\MyFinal3.java:5: error: ';' expected
static void exceptionFinal() throw RuntimeException();{
1 个错误
import java.io.*;
import java.util.*;
public class MyFinal3
{
static void exceptionFinal() throw RuntimeException eE{
System.out.println("Inside exceptionFinal");
throw RuntimeException();
}
public static void main(String []args)
{
double myDouble[] = new double[5];
try {
exceptionFinal();
System.out.println("Access element sixth :" +
myDouble[6]);
}
catch (RuntimeException eE) {
System.out.println("Exception thrown: 1");
}
catch (Exception eE) {
System.out.println("Exception thrown: 2");
}
catch (ArrayIndexOutOfBoundsException eE) {
System.out.println("Exception thrown: 3" );
}
finally {
System.out.println("Exception end" );
}
System.out.println("Out of the block");
}
}
您的代码有多个问题,并且肯定表明缺乏对 java 的基本理解,但为了编译您当前的代码,您应该按如下方式重写。注意 throw 和 throws 用法的区别。作为建议的评论之一,请查看 Difference between throw and throws in Java?
import java.io.*;
import java.util.*;
public class MyFinal3 {
static void exceptionFinal() throws RuntimeException {
System.out.println("Inside exceptionFinal");
throw new RuntimeException();
}
public static void main(String[] args) {
double myDouble[] = new double[5];
try {
exceptionFinal();
System.out.println("Access element sixth :" + myDouble[6]);
} catch (RuntimeException eE) {
System.out.println("Exception thrown: 1");
} catch (Exception eE) {
System.out.println("Exception thrown: 2");
}
finally {
System.out.println("Exception end");
}
System.out.println("Out of the block");
}
}
正如 moonlighter 所建议的,问题出在 "throw"- 关键字上。 "throw" 告诉 java 立即抛出异常,这不能在方法签名中完成(因此语法错误)。另一方面,"throws" 标记了一个可能会抛出异常的方法。
另一件好事是缩进代码。这提高了您和可能帮助您的人的可读性。
我从我的代码中收到此错误,似乎无法找到解决方案。这是我第一次处理 java 中的抛出异常。感谢您的帮助!
C:\Users\acer\Documents\MyFinal3.java:5: error: ';' expected
static void exceptionFinal() throw RuntimeException();{
1 个错误
import java.io.*;
import java.util.*;
public class MyFinal3
{
static void exceptionFinal() throw RuntimeException eE{
System.out.println("Inside exceptionFinal");
throw RuntimeException();
}
public static void main(String []args)
{
double myDouble[] = new double[5];
try {
exceptionFinal();
System.out.println("Access element sixth :" +
myDouble[6]);
}
catch (RuntimeException eE) {
System.out.println("Exception thrown: 1");
}
catch (Exception eE) {
System.out.println("Exception thrown: 2");
}
catch (ArrayIndexOutOfBoundsException eE) {
System.out.println("Exception thrown: 3" );
}
finally {
System.out.println("Exception end" );
}
System.out.println("Out of the block");
}
}
您的代码有多个问题,并且肯定表明缺乏对 java 的基本理解,但为了编译您当前的代码,您应该按如下方式重写。注意 throw 和 throws 用法的区别。作为建议的评论之一,请查看 Difference between throw and throws in Java?
import java.io.*;
import java.util.*;
public class MyFinal3 {
static void exceptionFinal() throws RuntimeException {
System.out.println("Inside exceptionFinal");
throw new RuntimeException();
}
public static void main(String[] args) {
double myDouble[] = new double[5];
try {
exceptionFinal();
System.out.println("Access element sixth :" + myDouble[6]);
} catch (RuntimeException eE) {
System.out.println("Exception thrown: 1");
} catch (Exception eE) {
System.out.println("Exception thrown: 2");
}
finally {
System.out.println("Exception end");
}
System.out.println("Out of the block");
}
}
正如 moonlighter 所建议的,问题出在 "throw"- 关键字上。 "throw" 告诉 java 立即抛出异常,这不能在方法签名中完成(因此语法错误)。另一方面,"throws" 标记了一个可能会抛出异常的方法。
另一件好事是缩进代码。这提高了您和可能帮助您的人的可读性。