Java异常抛出后继续向下执行,是指在程序中发生异常时,不会立即停止程序的执行,而是会抛出异常,然后继续执行下面的代码。
Java中有两种方法可以实现异常抛出后的继续执行:一是使用try-catch语句;二是使用throws关键字。
使用try-catch语句来实现异常抛出后的继续执行:在try语句块中定义要执行的代码;如果在try语句块中发生了异常,则会跳转到catch语句块中处理这个异常;如果在try语句块中没有发生异常,则会正常执行它里面的代码。
try { // 要执行的代码 } catch (Exception e) { // 对异常进行处理 }
使用throws关键字来实现异常抛出后的继续执行:当一个方法声明了throws关键字时(例如public void method() throws Exception{} ), 如果在方法体内部出了问题就会直接将问题往上抛出去, 然后就不会再往下走了, 这样就能保证当前方法不会造成什么影响, 然后就能保证当前方法之后的代码能够正常运行。
如果一段代码可能抛出一个已检查的异常,我们有两个选择:
throws子句的一般语法是
<modifiers> <return type> <method name>(<params>) throws<List of Exceptions>{ }
关键字throws用于指定throws子句。
throws子句放在方法参数列表的右括号之后。
throws关键字后面是以逗号分隔的异常类型列表。
下面的代码展示了如何在方法的声明中使用throws子句。
import java.io.IOException; public class Main { public static void readChar() throws IOException { int input = System.in.read(); } }
这里是显示如何使用它的代码。
import java.io.IOException; public class Main { public static void readChar() throws IOException { int input = System.in.read(); System.out.println(input); } public static void main(String[] args) { try { readChar(); } catch (IOException e) { System.out.println("Error occurred."); } } }
上面的代码生成以下结果。
我们可以继续抛出异常。
import java.io.IOException; public class Main { public static void readChar() throws IOException { int input = System.in.read(); System.out.println(input); } public static void main(String[] args) throws IOException { readChar(); } }
上面的代码生成以下结果。
我们可以使用throw语句在我们的代码中抛出异常。
throw语法的语法是
throw <A throwable object reference>;
throw是一个关键字,后面是一个对可抛出对象的引用。
throwable对象是一个类的实例,它是Throwable类的子类,或Throwable类本身。
以下是throw语句的示例,它抛出一个IOException:
// Create an object of IOException IOException e1 = new IOException("File not found"); // Throw the IOException throw e1;
以下是throw语句的示例,它抛出一个IOException:
// Throw an IOException throw new IOException("File not found");
如果我们抛出一个被检查的异常,我们必须使用try-catch块来处理它,或者在方法或构造函数声明中使用throws子句。
如果您抛出未经检查的异常,这些规则不适用。
Java数据类型教程 -Java数据类型包装器Java库在java.lang包中提供了八个类来表示八种基本类型中的每一种。这些类称为包装类,因...
Java数据类型教程 -Java字符串创建/长度创建字符串对象String类包含许多可用于创建String对象的构造函数。默认构造函数创建一个...
Java数据类型教程 -Java StringBuilder/StringBufferStringBuilder和StringBuffer是String类的伴随类。它们表示一个可变的字符序...
Java 实例 - 打印目录结构 Java 实例以下实例演示了使用 File 类的 file.getName() 和 file.listFiles() 方法来打印目录结构:im...
Java 实例 - 输出指定目录下的所有文件 Java 实例以下实例演示了如何使用 File 类的 list 方法来输出指定目录下的所有文件:impo...