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!