Java Academy · Pelajaran

try/catch/finally

Pelajari cara menggunakan try, catch dan finally untuk mengendalikan ralat masa jalan dengan selamat.

Pelajaran 1 daripada 38 langkah

try/catch/finally ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 3. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 3 pelajaran.

Pengenalan

Program kadangkala menghadapi ralat: masukan tidak sah, fail yang hilang atau pembahagian dengan sifar. Pengecualian ialah cara Java mengendalikannya tanpa menyebabkan program ranap.

Gambaran keseluruhan cuba/tangkap

Bungkus kod berisiko dalam blok cuba. Jika pengecualian berlaku, kawalan beralih kepada blok tangkap yang sepadan. Cara ini membolehkan anda mengendalikan ralat dengan baik.

Kod: cuba/tangkap mudah

Kod ini menangkap ArithmeticException dan memaparkan mesej yang mesra dan bukannya menyebabkan program ranap.

public class Main {
  public static void main(String[] args) {
    try {
      int x = 10 / 0; // risky division
      System.out.println("Result=" + x);
    } catch (ArithmeticException e) {
      System.out.println("Cannot divide by zero!");
    }
  }
}

Pelbagai tangkapan

Anda boleh menyusun beberapa blok tangkap untuk mengendalikan jenis pengecualian yang berbeza secara berasingan. Susunan penting: letakkan blok khusus sebelum blok umum.

Kod: pelbagai tangkapan

NullPointerException ditangkap oleh blok khususnya. Setiap jenis boleh dikendalikan dengan cara yang berbeza.

public class Main {
  public static void main(String[] args) {
    try {
      String s = null;
      System.out.println(s.length()); // NullPointerException
    } catch (ArithmeticException e) {
      System.out.println("Math error");
    } catch (NullPointerException e) {
      System.out.println("Null reference error");
    }
  }
}

Kod: blok akhir

Blok akhir dilaksanakan sama ada pengecualian berlaku atau tidak. Gunakannya untuk pembersihan seperti menutup fail.

public class Main {
  public static void main(String[] args) {
    try {
      int[] arr = {1,2};
      System.out.println(arr[5]); // ArrayIndexOutOfBounds
    } catch (ArrayIndexOutOfBoundsException e) {
      System.out.println("Bad index!");
    } finally {
      System.out.println("Finally block always runs");
    }
  }
}

Semakan blok akhir

Semakan pantas: Apakah tujuan blok akhir?

Ringkasan

Ringkasan: Blok cuba mengendalikan kod berisiko, blok tangkap bertindak balas terhadap ralat, dan blok akhir dijalankan setiap kali untuk pembersihan.

Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
104
Pelajaran
374

Soalan Lazim

Adakah pelajaran “try/catch/finally” percuma?

Ya — teks penuh “try/catch/finally” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 3 pelajaran.

Apakah yang akan saya pelajari dalam “try/catch/finally”?

Pelajari cara menggunakan try, catch dan finally untuk mengendalikan ralat masa jalan dengan selamat. Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Java Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 3.

Berapa lamakah pelajaran “try/catch/finally” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. try/catch/finally
  2. Checked berbanding Unchecked
  3. Membaca Jejak Timbunan
← Kembali ke Java Academy