Rumah >Java >javaTutorial >Blok Tangkapan Berbilang di Jawa
Kami boleh mengendalikan pengecualian dalam kod kami dengan memasukkan blok cuba-tangkap dalam java. Di sini dalam artikel ini, kita akan melihat cara kita boleh mengendalikan berbilang pengecualian untuk satu blok percubaan dengan menggunakan berbilang blok tangkapan atau berbilang argumen untuk blok tangkapan.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks Multiple Catch Block dalam Java diberikan di bawah:
Sintaks 1: blok cuba-tangkap ringkas
try { //code snippet which might responsible for exceptions } catch (<type_of_exception> <name_of_exception_object>) { //here we handle exceptions }
Sintaks 2: blok cuba-tangkap dengan blok tangkapan berbilang
try { //code snippet which might responsible for exceptions } catch (<type_of_exception> <name_of_exception_object>) //catch block 1 { //here we handle exceptions } catch (<type_of_exception> <name_of_exception_object>) //catch block 2 { //here we handle exceptions } catch (<type_of_exception> <name_of_exception_object>) //catch block 3 { //here we handle exceptions }
Sintaks 3: blok cuba-tangkap dengan berbilang kenyataan tangkapan sebagai hujah blok tangkapan
try { //code snippet which might responsible for exceptions } catch (<type_of_exception1> | <type_of_exception2> | <type_of_exception3> <name_of_exception_object>) { //here we handle exceptions }
Pada mulanya, kita perlu menyemak blok cuba sebelum bergerak untuk menangkap blok.
Ia mengandungi coretan kod yang mungkin menghasilkan pengecualian. Jadi, apabila anda mengesyaki bahawa kod anda mungkin menghasilkan pengecualian, letakkan coretan kod itu di dalam blok percubaan. Sekurang-kurangnya satu blok tangkapan diperlukan untuk blok percubaan.
Ia mengandungi coretan kod yang mengendalikan pengecualian yang mungkin berlaku untuk kod yang ditulis di dalam blok percubaan yang sepadan. Sekarang bagaimana untuk menangani berbilang pengecualian, jika ada?
Anda boleh mengambil dua cara:
Kami juga boleh menulis blok cuba-tangkap di dalam pembina dan ia akan berfungsi seperti yang diharapkan. Dalam contoh di bawah, kami akan menulis kod di dalam try constructor: try block akan menjana pengecualian aritmetik yang dikendalikan dalam blok tangkapan.
public class MultipleCatchBlockInConstructor { MultipleCatchBlockInConstructor() { try { int num=6/0; } catch(ArrayIndexOutOfBoundsException excp) { System.out.println("Exception is : "+excp); } catch(ArithmeticException excp) { System.out.println("Exception is : "+ excp); } } public static void main(String[] args) { MultipleCatchBlockInConstructor mc=new MultipleCatchBlockInConstructor(); } }
Output:
Dalam bahagian ini, kita akan membincangkan banyak contoh kod. Anda harus mencuba kod ini sendiri dan hitung output dengan yang diberikan.
Ini ialah contoh mudah blok berbilang tangkapan, di mana kami telah menulis pernyataan yang akan menghasilkan pengecualian di dalam blok cuba, yang akan dikendalikan oleh blok tangkapan yang sepadan daripada tiga blok tangkapan.
Kod:
public class MultipleCatchBlockInJava { public static void main(String[] args) { try{ System.out.println("start of try block"); int num = 6/0; } catch(ArithmeticException e) { System.out.println("divide by zero exception "); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("ArrayIndexOutOfBounds Exception occurs"); } catch(Exception e) { System.out.println("Any other excpetion"); } System.out.println("end of try-catch block"); } }
Output:
Dalam contoh ini, kami telah menggambarkan tentang penyerahan pengecualian di luar sempadan untuk tatasusunan dengan cuba dan tangkap blok.
Kod:
public class MultipleCatchBlockInJava { public static void main(String[] args) { try{ System.out.println("start of try block"); int arr[]=new int[6]; System.out.println(arr[12]); //we want to access 12th element of array which does not exist as size is of 6 } catch(ArithmeticException e) { System.out.println("divide by zero exception"); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("Array IndexOutOfBounds Exception occurs"); } catch(Exception e) { System.out.println("Any other exception"); } System.out.println("end of try-catch block"); } }
Output:
Dalam contoh ini, kita akan melihat bagaimana penuding nol dikendalikan oleh blok tangkapan. Juga, ambil perhatian bahawa terdapat berbilang senario pengecualian dalam blok cuba, tetapi setelah aliran program mencapai pernyataan penjanaan pengecualian pertama (di sini, pengecualian Nullpointer), ia akan segera keluar dari blok percubaan dan mencari pengendali pengecualian dalam blok tangkapan. Pernyataan penjanaan pengecualian lain (di sini, indeks Tatasusunan daripada pengecualian terikat) di dalam blok cuba diabaikan.
Kod:
public class MultipleCatchBlockInJava { public static void main(String[] args) { try{ System.out.println("start of try block"); String str=null; System.out.println(str.length()); //we want to get length of a null string int arr[]=new int[6]; System.out.println(arr[12]); //we want to access 12th element of array which does not exist as size is of 6 } catch(ArithmeticException e) { System.out.println("divide by zero exception"); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("Array IndexOutOfBounds Exception occurs"); } catch(NullPointerException e) { System.out.println("Null pointer Exception occurs"); } System.out.println("end of try-catch block"); } }
Output:
Dalam contoh ini, kami akan menyemak cara pengecualian akan dikendalikan oleh berbilang argumen bagi satu blok tangkapan.
Kod:
public class MultipleCatchBlockInJava { public static void main(String[] args) { try{ System.out.println("start of try block"); String str=null; System.out.println(str.length()); //we want to get length of a null string int arr[]=new int[6]; System.out.println(arr[10]); //we want to access 10th element of array which does not exist as size is of 6 } catch(ArithmeticException | ArrayIndexOutOfBoundsException | NullPointerException e ) { System.out.println("Code is throwing " + e); } System.out.println("end of try-catch block"); } }
Output:
Ini menyimpulkan pembelajaran kami untuk beberapa blok tangkapan dari perspektif pengaturcaraan java. Untuk meringkaskan: Setiap kali anda perlu mengendalikan berbilang pengecualian, anda boleh menulisnya di dalam berbilang blok tangkapan. Sebagai alternatif, untuk java 7 dan ke atas anda boleh menulis beberapa pengecualian dalam hujah blok tangkapan tunggal dan aliran program akan memilih ini secara automatik. Selain itu, adalah penting untuk anda menulis kod sendiri untuk pemahaman yang lebih baik.
Atas ialah kandungan terperinci Blok Tangkapan Berbilang di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!