選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Java 教程

Java HOME Java Intro Java Get Started Java Syntax Java Output Java Comments Java Variables Java Data Types Java Type Casting Java Operators Java Strings Java Math Java Booleans Java If...Else Java Switch Java While Loop Java For Loop Java Break/Continue Java Arrays

Java Methods

Java Methods Java Method Parameters Java Method Overloading Java Scope Java Recursion

Java Classes

Java OOP Java Classes/Objects Java Class Attributes Java Class Methods Java Constructors Java Modifiers Java Encapsulation Java Packages / API Java Inheritance Java Polymorphism Java Inner Classes Java Abstraction Java Interface Java Enums Java User Input Java Date Java ArrayList Java LinkedList Java List Sorting Java HashMap Java HashSet Java Iterator Java Wrapper Classes Java Exceptions Java RegEx Java Threads Java Lambda Java Advanced Sorting

Java File Handling

Java Files Java Create/Write Files Java Read Files Java Delete Files

Java How To's

Add Two Numbers Count Words Reverse a String Sum of Array Elements Convert String to Array Sort an Array Find Array Average Find Smallest Element ArrayList Loop HashMap Loop Loop Through an Enum Area of Rectangle Even or Odd Number Positive or Negative Square Root Random Number

Java 參考

Java Reference Java Keywords Java String Methods Java Math Methods Java Output Methods Java Arrays Methods Java ArrayList Methods Java LinkedList Methods Java HashMap Methods Java Scanner Methods Java Iterator Methods Java Errors & Exceptions

Java 示例

Java Examples Java Compiler Java Exercises Java Quiz Java Server Java Certificate


Java 異常 - Try...Catch


Java 異常

在執行 Java 程式碼時,可能會發生各種錯誤:程式設計師編寫的編碼錯誤、由於輸入錯誤導致的錯誤,或者其他無法預見的情況。

當發生錯誤時,Java 通常會停止執行並生成錯誤訊息。這在技術上稱為:Java 將**丟擲異常**(丟擲一個錯誤)。


Java try 和 catch

try 語句允許您定義一個程式碼塊,在執行時對其進行錯誤測試。

catch 語句允許您定義一個程式碼塊,在 `try` 塊中發生錯誤時執行。

trycatch 關鍵字成對出現

語法

try {
  //  Block of code to try
}
catch(Exception e) {
  //  Block of code to handle errors
}

請看下面的例子

這將生成一個錯誤,因為 myNumbers[10] 不存在。

public class Main {
  public static void main(String[ ] args) {
    int[] myNumbers = {1, 2, 3};
    System.out.println(myNumbers[10]); // error!
  }
}

輸出可能類似於:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
        at Main.main(Main.java:4)

注意: 當您嘗試訪問不存在的索引號時,會發生 ArrayIndexOutOfBoundsException

自己動手試一試 »

如果發生錯誤,我們可以使用 try...catch 來捕獲錯誤並執行一些程式碼來處理它

示例

public class Main {
  public static void main(String[ ] args) {
    try {
      int[] myNumbers = {1, 2, 3};
      System.out.println(myNumbers[10]);
    } catch (Exception e) {
      System.out.println("Something went wrong.");
    }
  }
}

輸出將是:

發生了錯誤。
自己動手試一試 »

Finally

finally 語句允許您在 try...catch 之後執行程式碼,無論結果如何。

示例

public class Main {
  public static void main(String[] args) {
    try {
      int[] myNumbers = {1, 2, 3};
      System.out.println(myNumbers[10]);
    } catch (Exception e) {
      System.out.println("Something went wrong.");
    } finally {
      System.out.println("The 'try catch' is finished.");
    }
  }
}

輸出將是:

發生了錯誤。
The 'try catch' is finished.
自己動手試一試 »


throw 關鍵字

throw 語句允許您建立自定義錯誤。

throw 語句與**異常型別**一起使用。Java 中有許多可用的異常型別:ArithmeticExceptionFileNotFoundExceptionArrayIndexOutOfBoundsExceptionSecurityException 等等。

示例

如果 age 小於 18,則丟擲異常(列印 "Access denied")。如果 age 為 18 或更大,則列印 "Access granted"

public class Main {
  static void checkAge(int age) {
    if (age < 18) {
      throw new ArithmeticException("Access denied - You must be at least 18 years old.");
    }
    else {
      System.out.println("Access granted - You are old enough!");
    }
  }

  public static void main(String[] args) {
    checkAge(15); // Set age to 15 (which is below 18...)
  }
}

輸出將是:

Exception in thread "main" java.lang.ArithmeticException: Access denied - You must be at least 18 years old.
        at Main.checkAge(Main.java:4)
        at Main.main(Main.java:12)
自己動手試一試 »

如果 age 是 20,您將**不會**收到異常

示例

checkAge(20);

輸出將是:

Access granted - You are old enough!
自己動手試一試 »

透過練習來測試自己

練習

在下面的程式碼中填寫缺失的部分以處理錯誤。

 {
  int[] myNumbers = {1, 2, 3};
  System.out.println(myNumbers[10]);
}  (Exception e) {
  System.out.println("Something went wrong.");
}

開始練習


錯誤和異常型別參考

有關不同錯誤和異常型別的列表,請訪問我們的 Java 錯誤和異常型別參考




×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援