Rumah  >  Artikel  >  Java  >  Pengecualian dan penyelesaian tatasusunan Java biasa

Pengecualian dan penyelesaian tatasusunan Java biasa

PHPz
PHPzke hadapan
2023-04-22 20:58:06904semak imbas

1. Jenis pengecualian

Perbezaan utama antara pengecualian yang disemak dan pengecualian yang tidak disemak terletak pada kaedah pengendaliannya. Pengecualian yang diperiksa perlu diproses oleh pengkompil menggunakan kata kunci try, catch dan akhirnya, jika tidak, ralat pengkompil akan berlaku. Ini tidak diperlukan untuk pengecualian yang tidak disemak. Semua pengecualian dalam kelas Java yang mewarisi Pengecualian ditandakan pengecualian, dan semua pengecualian yang mewarisi RuntimeException dipanggil pengecualian tidak ditanda.

2. ClassCastException

Pengecualian penukaran kelas ini akan dilemparkan apabila menukar contoh yang bukan kelas ini ke dalam kelas ini.

Jika anda memaksa nombor ke dalam rentetan, pengecualian ini akan dilaporkan:

Object x = new Integer(0);
System.out.println((String)x);

Ini ialah pengecualian masa jalan dan tidak perlu ditangkap secara manual.

3. NullPointerException

Pengecualian ini akan dilemparkan apabila mengendalikan kaedah atau sifat objek null.

//情况一:
int[] arr1 = new int[]{1,2,3};
arr1 = null;
System.out.println(arr1[0]);
 
//情况二:
int[][] arr2 = new int[4][];
System.out.println(arr2[0][0]);
 
//情况:
String[] arr3 = new String[]{"AA","BB","CC"};
arr3[0] = null;
System.out.println(arr3[0].toString());

Petua: Sebaik sahaja pengecualian berlaku dalam program dan tidak dikendalikan, pelaksanaan akan ditamatkan.

Atas ialah kandungan terperinci Pengecualian dan penyelesaian tatasusunan Java biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam