什麼是 Java 中不可到達的程式碼塊?
Java 中永遠不會到達的程式碼塊或語句,而且永遠不會在程式的生命週期內執行,則稱為不可達的程式碼塊或語句。
一般來說,它發生在程式碼片段前有
- 一個 return 語句。
- 一個無限迴圈。
Java 不支援不可達的程式碼。如果您有任何此類語句(不可達的),Java 編譯器會引發編譯時錯誤。
示例 1
在以下 Java 程式中,類 UnreachableCodeExample 有一個名為 greet 的方法,它返回一個 String 值。在 return 語句之後,它有一個 print 語句。
public class UnreachableCodeExample { public String greet() { System.out.println("This is a greet method "); return "Hello"; System.out.println("This is an unreachable code "); } public static void main(String args[]) { new UnreachableCodeExample().greet(); } }
編譯時錯誤
由於在 greet 方法中 println 方法呼叫之前我們有一個 return 語句,因此它是不可達的。如果您編譯這個程式,它會生成以下編譯時錯誤 −
輸出
UnreachableCodeExample.java:5: error: unreachable statement System.out.println("This is an unreachable code "); ^ UnreachableCodeExample.java:6: error: missing return statement } ^ 2 errors
示例 2
在以下 Java 程式中,類 UnreachableCodeExample 有一個名為 greet 的方法,它有一個無限 while 迴圈,後跟一個 print 語句。
public class UnreachableCodeExample { public void greet() { System.out.println("This is a greet method "); while(true){ } System.out.println("This is an unreachable code "); } public static void main(String args[]) { new UnreachableCodeExample().greet(); } }
編譯時錯誤
由於在 greet 方法中 println 方法呼叫之前我們有一個無限迴圈,因此它是不可達的。如果您編譯這個程式,它會生成以下編譯時錯誤 −
UnreachableCodeExample.java:6: error: unreachable statement System.out.println("This is an unreachable code "); ^ 1 error
廣告