Jenis pengecualian dalam Java:
Pengecualian Disemak: untuk keadaan boleh pulih yang boleh dipulihkan oleh pemanggil.
Pengecualian Masa Jalan: untuk ralat pengaturcaraan, seperti melanggar prasyarat (contohnya, mengakses indeks tatasusunan yang tidak sah).
Pepijat: Umumnya dikhaskan untuk JVM dan tidak boleh digunakan oleh pembangun.
Disemak Pengecualian lwn. Pengecualian Masa Jalanan:
Gunakan pengecualian yang ditandai jika kod panggilan boleh mengambil tindakan untuk menyelesaikan situasi.
Gunakan pengecualian masa jalan untuk menunjukkan kelemahan dalam kontrak API, yang mesti diperbaiki oleh pembangun.
// Exemplo de exceção verificada (condição recuperável) public void readFile(String filePath) throws IOException { // código para leitura do arquivo } // Exemplo de exceção de runtime (erro de programação) public int getElement(int[] array, int index) { if (index < 0 || index >= array.length) { throw new ArrayIndexOutOfBoundsException("Index out of bounds"); } return array[index]; }
Sediakan kaedah pembantu pada pengecualian yang diperiksa:
Pengecualian yang disemak mesti termasuk kaedah untuk membantu pemanggil menangani keadaan luar biasa.
Contoh: Jika pembelian gagal kerana baki tidak mencukupi, berikan jumlah defisit supaya pemanggil boleh melihat maklumat ini.
public class InsufficientFundsException extends Exception { private final double deficit; public InsufficientFundsException(double deficit) { super("Saldo insuficiente: falta " + deficit); this.deficit = deficit; } public double getDeficit() { return deficit; } }
Ringkasan
Gunakan pengecualian untuk situasi luar biasa dan bukan sebagai aliran kawalan alternatif.
Bezakan antara pengecualian yang diperiksa dan masa jalan untuk menunjukkan kepada pemanggil jenis pengendalian yang diperlukan.
Sertakan kaedah pembantu dalam pengecualian yang disemak untuk memberikan maklumat berguna kepada pemanggil, memudahkan pemulihan.
Prinsip ini membantu memastikan kod lebih jelas, lebih cekap dan lebih mudah untuk nyahpepijat.
Atas ialah kandungan terperinci Item Gunakan pengecualian yang ditandai untuk keadaan boleh pulih dan pengecualian masa jalan untuk ralat pengaturcaraan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!