Ini adalah contoh kecil yang memperkenalkan penanganan pengecualian dasar, termasuk melempar, menangkap, menegaskan, dan mencatat.
Penanganan pengecualian Java dikelola melalui lima kata kunci: coba, tangkap, lempar, lempar, dan akhirnya. Proses dasarnya adalah menggabungkan pernyataan yang akan dipantau dengan blok pernyataan try. Jika pengecualian terjadi dalam blok pernyataan try, kode Anda dapat menangkap pengecualian tersebut dan menanganinya di blok pernyataan catch; berikut Beberapa pengecualian yang dihasilkan sistem secara otomatis muncul saat Java sedang berjalan. Anda juga dapat mendeklarasikan metode untuk melemparkan pengecualian melalui kata kunci throws, dan kemudian melemparkan objek pengecualian melalui throw ke dalam metode tersebut.
Copy kode kodenya sebagai berikut:
paket com.hongyuan.test;
impor java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
kelas publik ExceptionHandleTest {
statis{
//Aktifkan pernyataan, dan kelas yang dimuat oleh pemuat kelas sistem akan mengaktifkan pernyataan.
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(benar);
}
public static void main(String[] args) {
/*
* Lempar, tangkap
*/
mencoba {
TryCatchTest.jalankan(10, -1);
} tangkapan (IOException e) {
e.printStackTrace();
}
System.out.println("============= = ==========");
//catatan
LogerTest.jalankan();
System.out.println("============= = ==========");
//pernyataan
AssertTest.div(3,0);
}
}
/*
* pernyataan
*/
kelas AssertTest {
div ganda statis publik(int b,int a){
menegaskan a!=0: "Apakah guru sekolah dasar Anda mengetahui jika Anda menggunakan ini?";
kembali (ganda)b/a;
}
}
/*
* mencatat
*/
kelas LogerTest {
logger logger statis pribadi=null;
statis{
//Dapatkan objek log dan tentukan level log
logger=Logger.getLogger(LogerTest.class.getName());
logger.setLevel(Level.ALL);
}
menjalankan kekosongan statis publik(){
//Masukkan metode
logger.entering(LogerTest.class.getName(), "jalankan");
//Informasi umum
logger.info("Ayo ganggu saya lagi, saya sudah mencatat akun ini!!!");
//memperingatkan
logger.warning("Saya terlalu lelah, saya tidak bisa melakukan pekerjaan ini!!!");
//serius
logger.log(Level.SEVERE,"Saya berhenti!!!^O^");
//Metode keluar
logger.keluar(LogerTest.class.getName(), "jalankan");
}
}
/*
* tangkap, lempar
*/
kelas CobaTangkapUji {
public static void run(int x,int y) melempar IOException {
coba{//wajib
jika(x<0||kamu<0){
throw new IllegalArgumentException("Saya terdiam, apa yang harus saya lakukan!!!");
}
}menangkap(Pengecualian e){//opsional
IOException e1=new IOException("Anda bisa mengetahuinya sendiri!");
e1.initCause(e.getCause());
lempar e1;
}akhirnya{//opsional
System.out.println("Akhirnya mereka hidup bahagia!!! (Akhir)");
}
}
}