Apa yang harus kita lakukan jika program tidak siap menangani kesalahan dengan menangkap pengecualian ? Kita dapat menyelesaikannya dengan pernyataan asersi .
Pernyataan pernyataan sangat berguna selama tahap debugging kode, dan umumnya digunakan untuk kesalahan yang program tidak siap untuk menanganinya dengan menangkap pengecualian.
Misalnya: ketika terjadi kesalahan, misalnya ketika akun diperdagangkan dan jumlah pengeluarannya adalah angka positif atau jumlah pendapatannya adalah angka negatif, maka program harus segera menghentikan eksekusi. Biarkan pernyataan pernyataan bekerja selama fase kode debugging, sehingga Anda dapat menemukan beberapa kesalahan fatal. Ketika program resmi berjalan, Anda dapat mematikan pernyataan pernyataan, tetapi tetap menyimpan pernyataan pernyataan dalam kode sumber jika aplikasi membutuhkannya untuk di-debug lagi di masa mendatang, Anda dapat mengaktifkan kembali pernyataan pernyataan.
Kami menggunakan kata kunci menegaskan untuk mendeklarasikan pernyataan pernyataan. Pernyataan pernyataan memiliki dua format berikut:
menegaskanbooleanExpression;//Ekspresi yang mengevaluasi ke tipe boolean menegaskanbooleanExpression:messageException;//Ekspresi yang mengevaluasi ke tipe string
Jika nilainya benar, eksekusi program dilanjutkan dari pernyataan pernyataan.
Jika nilainya salah, eksekusi program berhenti pada pernyataan pernyataan.
Jika nilainya benar, eksekusi program dilanjutkan dari pernyataan pernyataan.
Ketika nilainya salah, program menghentikan eksekusi pernyataan pernyataan dan mengeluarkan nilai ekspresi messageException untuk mengingatkan pengguna tentang masalah yang terjadi.
Misalnya, untuk pernyataan asersi:
menegaskan>=0;
Jika nilai ekspresi i >= 0 benar, program melanjutkan eksekusi; jika nilai ekspresi i >= 0 salah, program segera mengakhiri eksekusi.
Saat menjalankan aplikasi secara langsung menggunakan juru bahasa Java, pernyataan pernyataan dinonaktifkan secara default. Anda dapat menggunakan -ea untuk mengaktifkan pernyataan pernyataan saat men-debug program, misalnya:
java-eamainclass
Misalnya:
publicclassMain{publicstaticvoidmain(String[]args){int[]score={-120,98,96,94,92};intsum=0;for(intnumber:score){//Gunakan for untuk melintasi array menegaskannumber>= 0: Angka negatif tidak boleh berupa nilai;jumlah=jumlah+angka;}System.out.println(skor total:+jumlah);}}
Hasil yang berjalan adalah sebagai berikut:
Skor Total: 260