Rumah >Java >javaTutorial >Throw Keyword dalam Java
Kata kunci Throw ini digunakan dengan jelas dalam konsep Pengendalian Pengecualian. Seperti namanya, kata kunci lontaran adalah mengenai membuang pengecualian daripada program kepada pengkompil. Taklimat tentang pengecualian ialah sejenis ralat yang pengkompil muncul daripada atur cara sekiranya sebarang percanggahan berlaku semasa masa jalankan kod. Menggunakan kata kunci lontaran ini, kami boleh menentukan pengecualian kami dengan mentafsir sebarang punca ralat semasa program dijalankan.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Mari kita lihat butiran lanjut di bawah:
Sintaks
Sintaks lontaran dalam Java adalah seperti di bawah:
throw exception_type ;
atau
throw instance;
Di sini, kita boleh menyemak cara kata kunci digunakan dan memahami cara aliran berfungsi melalui contoh.
import java.util.Scanner; public class Main { public static void main(String[] args) { int c; Scanner sc = new Scanner(System.in); System.out.println("Enter value of A: "); int a = sc.nextInt(); //Scanner b = new Scanner(System.in); System.out.println("Enter value of B: "); int b = sc.nextInt(); try { c= a/b; if(b==0) { throw new ArithmeticException(); } System.out.println("Value of C is: " +c); } catch(ArithmeticException e) { System.out.println("Caught this here"); } finally { } System.out.println("Finally block is here"); } }
Mari kita atasi perkara ini dengan contoh pembahagian dengan sifar yang klasik dan mudah.
Menganalisis kod di bawah:
Mari semak output di bawah.
Output 1: Jika nilai b bukan sifar.
Ketiadaan balok cubaan, balingan dan tangkap yang dilaksanakan adalah ketara kerana nilai 'B' bukan sifar. Pada akhirnya, blok tersebut dilaksanakan tanpa mengira penciptaan pengecualian.
Output 2: Jika nilai b ialah sifar.
Bahagian yang diserlahkan memastikan pengecualian berjaya dilemparkan dan ditangkap oleh blok tangkapan.
Jadi, mari lihat contoh di bawah.
Contoh:
Mari kita lihat bagaimana kita boleh membuang berbilang pengecualian dalam satu program.
public class Main { public static void main(String[] args) { String sun[] = {"chocolate", "honey", "sugar", "sweet", "bitter"}; String h = null; try { for (int i=0; i<=7; i++) { if(i > sun.length) { throw new ArrayIndexOutOfBoundsException(); } System.out.println(sun[i]); } } catch(ArrayIndexOutOfBoundsException ae) { System.out.println("Inside array index out of bounds exception catch block"); } try{ sun[0]=h; if (sun[0] == null) { throw new NullPointerException(); } System.out.println("Value of sun[0] is: " +sun[0]); } catch(NullPointerException f) { System.out.println("Caught Null point exception"); } finally { System.out.println("executing finally"); } } }
Di atas, kami menggunakan dua jenis pengecualian yang berbeza dan melontar kata kunci untuk mentafsir program. Indeks tatasusunan di luar terikat dan pengecualian penuding nol ialah apa yang kami gunakan di sini dalam satu atur cara.
Output:
Kata kunci lontaran ini akan membantu kami bertindak sebagai penghubung antara blok cuba dan tangkap. Ia akan membantu memindahkan kawalan program daripada blok cuba ke blok tangkapan.
Biar saya tunjukkan kepada anda contoh cara program berfungsi dengan dan tanpa menggunakan kata kunci lontaran.
public class Main { public static void main(String[] args) { try { int a = Integer.parseInt ("Happy") ; System.out.println("Will this get printed?"); } catch(NumberFormatException e) { System.out.println("Number format exception of catch block"); } System.out.println("Priting after catch block"); } }
Kami telah menulis kod tanpa kata kunci lontaran. Tetapi kami menggunakan kod untuk mencuba dan menangkap blok, yang akan mengendalikan pengecualian. Jadi, adakah anda tahu output di atas?
Dijangka kan? Jadi, ia melaksanakan kod, menemui pengecualian dan pengecualian telah ditangkap.
Sekarang, bagaimanakah kod tersebut berfungsi apabila kita memasukkan pernyataan lontaran kita? Jom lihat di bawah.
public class Main { public static void main(String[] args) { try { int a = Integer.parseInt ("Happy") ; throw new NumberFormatException(); System.out.println("Will this get printed?"); } catch(NumberFormatException e) { System.out.println("Number format exception of catch block"); } System.out.println("Priting after catch block"); } }
Hanya bahagian yang diserlahkan ialah perubahan antara dua kod di atas.
Output:
Ya, kami mempunyai ralat penyusunan kerana kenyataan cetakan selepas kata kunci lontaran tidak dapat dicapai. Kami harap anda memahami dengan tepat maksud "memindahkan kawalan daripada cuba menangkap blok" melalui contoh ini.
Sebagai latihan, cuba alih keluar pernyataan cetakan selepas melontar kata kunci dan semak bagaimana program bertindak balas.
Jadi, beginilah cara arahan lontaran masuk ke dalam gambar pada masa pengendalian pengecualian. Saya melihat perbezaan yang baik antara kata kunci THROW dan THROWS. Kedua-duanya digunakan dengan konsep pengecualian. Kita sudah tahu konsepnya, bagaimana dan di mana kita boleh menggunakan kata kunci “THROW”. Hanya berlatih dan cuba menggunakannya dengan cara yang berbeza. Teruskan belajar.
Atas ialah kandungan terperinci Throw Keyword dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!