Rumah >Java >javaTutorial >Pengendalian Pengecualian Di Jawa
Apabila anda menjalankan kod atau program Java, ia sama ada akan menyusun dan melaksanakan atau membuang ralat. Apabila kod melemparkan, ia adalah hasil daripada ralat atau pengecualian.
Ralat adalah lebih kritikal. Ia berlaku di luar skop kod tetapi dalam persekitaran di mana aplikasi berjalan. Program ini tidak dijangka menangkap dan mengendalikan ralat.
Beberapa contoh ralat ialah
Pengecualian berlaku dalam skop kod. Ia juga dikenali sebagai ralat pelaksanaan yang bermaksud bahawa ia berlaku semasa pelaksanaan kod. Pengaturcara dijangka menangkap dan mengendalikan pengecualian dalam program.
Siaran ini akan lebih memfokuskan pada pengecualian dan ralat masa jalan secara khusus. Anda akan mempelajari semua tentang pengecualian dan cara mengendalikan ralat pengecualian dalam program Java anda.
Terdapat tiga jenis ralat pelaksanaan dalam Java. Berikut ialah pecahan setiap daripadanya
Ralat jenis ini dikenali sebagai ralat kompilasi atau ralat yang diperiksa. Program Java membuang kod ini semasa peringkat penyusunan.
Dalam erti kata lain, ralat ini berlaku apabila kod Javac sedang disusun kepada bytecode. Ralat masa kompilasi biasanya disebabkan oleh ralat dalam sintaks kod.
Sebagai contoh, apabila pengaturcara gagal menambah koma bernoktah pada akhir pernyataan atau gagal untuk memulakan pembolehubah sebelum mencetak.
public class JavaExceptionCodes { public static void main (String []args){ int y = 10 //no semicolon System.out.println(y); } }
Ralat masa jalan juga dikenali sebagai ralat pengecualian atau ralat tidak ditanda. Ia berlaku semasa program sedang dilaksanakan. Kod akan dikompil tetapi akan menimbulkan ralat semasa masa jalan.
Ralat masa jalan boleh diklasifikasikan lagi ke dalam pengecualian terbina dalam atau pengecualian yang ditentukan pengguna. Contoh pengecualian terbina dalam termasuk:
Contohnya jika pengguna memasukkan int dan bukannya rentetan atau memasukkan nilai yang lebih besar daripada saiz tatasusunan.
public class JavaExceptionCodes { public static void main (String []args) { int nombas[] = {1, 2, 3, 4, 5}; System.out.println(nombas[6]); } } //ArrayIndexOutOfBoundsException
Juga dikenali sebagai ralat semantik, ia berlaku jika terdapat ralat dalam output logik program. Sebagai contoh, 3 + 3 menunjukkan output 7, atau apabila anda log masuk ke akaun anda dan mendarat di profil lain.
Ralat masa kompilasi adalah yang paling mudah ditangkap kerana IDE anda akan sentiasa menunjukkan ralat ini kepada pengaturcara. Ralat logik pada kebanyakan masa adalah ralat yang paling sukar untuk dilihat kerana kod itu tidak akan membuang masa penyusunan atau ralat masa jalan.
Pengendalian pengecualian digunakan untuk menangkap ralat dalam atur cara dan mengekalkan aliran biasa perlaksanaan atur cara. Biasanya, sebaik sahaja atur cara melemparkan ralat, kod akan berhenti melaksanakan.
Menangkap dan mengendalikan ralat terlebih dahulu akan membolehkan atur cara melangkau blok kod dengan ralat dan terus melaksanakan seluruh program.
Cuba – Tangkap – Akhirnya – Baling – Baling ialah senarai kaedah untuk pengendalian pengecualian dalam Java. Mari pecahkan setiap satu daripada mereka secara terperinci dengan contoh:
Cuba digunakan untuk melampirkan baris atau blok kod yang mungkin mengeluarkan pengecualian. Terdapat juga percubaan bersarang iaitu percubaan dengan blok percubaan dalaman. Mereka mempunyai tujuan yang sama.
Sintaks
try{ }
Tangkapan ialah blok kod yang digunakan untuk menangkap ralat yang dilemparkan dalam blok percubaan.
Sintaks
try{ } catch (Exception e){ }
berbilang blok tangkapan
public class JavaExceptionCodes { public static void main (String []args) { int x = 10; int y = 0; int z ; int nombas [] = {5, 6, 7, 8, 9}; try { System.out.println(z = x / y); System.out.println(nombas[6]); } catch (ArithmeticException e){ System.out.println("Can't divide by 0. Choose another number" + e); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("Array Out Of Bound" + e); } System.out.println("End"); } }
Akhir sekali, ialah blok kod pilihan, yang biasanya diletakkan selepas blok kod cuba dan tangkap. Ia digunakan untuk melaksanakan kod penting. Blok akhirnya sentiasa dilaksanakan sama ada program melemparkan ralat atau tidak.
Sintaks
try{ } catch (Exception e){ } finally{ }
Throw ialah kata kunci yang digunakan untuk membuang pengecualian ke dalam kaedah atau blok kod.
Sintaks
public class JavaExceptionCodes { public static void main (String []args) { try { throw new ArithmeticException("Try Run"); } catch (ArithmeticException e){ System.out.println("Catch Exception Error"); } } }
Tidak seperti kata kunci lontaran, kata kunci lontaran tidak digunakan untuk melontar pengecualian. Walau bagaimanapun, ia menyatakan bahawa mungkin terdapat pengecualian dalam kaedah tersebut. Lemparan digunakan dalam tandatangan kaedah dan bukan di dalam kaedah.
Blok percubaan boleh mempunyai beberapa pernyataan (baris kod). Adalah lebih baik untuk membuat beberapa blok tangkapan untuk menangkap ralat dalam setiap pernyataan.
Sentiasa nyatakan jenis pengecualian jika anda bekerja dengan berbilang blok tangkapan.
Jika terdapat berbilang penyataan dalam blok percubaan dan anda tidak mengetahui penyataan dengan ralat itu, buat pengecualian umum terakhir di penghujung pengecualian lain untuk menangkap ralat yang tidak diketahui.
Sentiasa letakkan blok tangkapan pengecualian am di hujung blok tangkapan pengecualian tersuai yang lain.
Atas ialah kandungan terperinci Pengendalian Pengecualian Di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!