Umumnya ada dua cara untuk menangani pengecualian, baik menangkap pengecualian mencoba-tangkapan atau melempar lemparan pengecualian
Jika suatu metode melempar pengecualian runtime (melempar runtimeException) setelah itu, penelepon tidak perlu menghadapinya
Jika metode dilemparkan setelah pengecualian waktu kompilasi, penelepon harus menanganinya, baik melempar atau mencoba-catch;
Pengecualian selama runtime umumnya tidak ditangani, dan umumnya kesalahan logis dalam program, seperti penyebut yang 0 sebagai pembagi. . .
Perhatikan bahwa jika pengecualian terjadi dalam mencoba, pernyataan di bawah percobaan tidak akan dieksekusi. Kembali untuk menemukan pemrosesan pengecualian pencocokan tangkapan dan pernyataan berikutnya akan diproses (yaitu, pernyataan setelah percobaan-tangkapan akhir akan terus dieksekusi)
/*
* Terkadang, kita dapat menangani pengecualian, tetapi kadang -kadang, kita tidak memiliki izin untuk menangani pengecualian sama sekali.
* Atau, jika saya tidak bisa mengatasinya, saya tidak akan menanganinya.
* Untuk menyelesaikan masalah kesalahan, Java memberikan solusi lain untuk situasi ini: melempar.
*
* Format:
* melempar nama kelas pengecualian
* Catatan: Format ini harus diikuti oleh tanda kurung metode ini.
*
* Melihat:
* Cobalah untuk tidak melempar pengecualian pada metode utama.
* Tapi saya melakukan ini demi kenyamanan.
*
* Ringkasan:
* Pengecualian dilemparkan selama periode kompilasi dan harus ditangani oleh penelepon di masa depan.
* Pengecualian dilemparkan selama runtime, dan panggilan di masa depan tidak diharuskan diproses.
*/
Pengecualian runimeException dan subclassnya tidak diproses (tidak dilemparkan atau ditangkap). Jika Anda benar -benar tahu bahwa pengecualian akan dilemparkan saat runtime, maka tidak masalah untuk secara langsung memeriksa logika memodifikasi program! Lai Lai
package exception;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class ExceptionDemo {public static void main(String[] args) {System.out.println("Before calling the method");try {method();// Exception throwing must be handled during compilation period} catch (ParseException e) {e.printStackTrace ();} System.out.println ("Metode panggilan 2 Setelah memanggil metode 1"); Method2 ();} public static void Method2 () melempar runtimeeException {int a = 10; int b = 0; System.out.println ("a/b =" B = "B);/System. Jika pengecualian dilemparkan, penelepon tidak perlu menangani pengecualian} Metode statis public static () melempar parseException {string string = "2015-05-30"; SimpleDateFormat sdf = new SimplateFormat ("yyyy-mm-dd"); // Format string akan dicocokkan secara bertahap, dan jika itu secara bertahap, smyyy-mm-dd "); // Format string akan dicocokkan, dan jika lulusan lulusan, SONDEF2 not the Exccure no corcure no corcure no corcure no corcure (" yyyy-mm-dd "); = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//If string only has 2015-05-30 and there is no follow-up, then it will run an exception because this sdf2 cannot match HH:mm:ssDate date = sdf.parse(string);System.out.println("Date formatting:" + date);}}Diagram Struktur Pengecualian:
Kami programmer tidak dapat menangani pengecualian kesalahan tanpa harus menghadapinya.
Kami tidak perlu berurusan dengan pengecualian runtime dari pengecualian runtime.
Yang lain adalah pengecualian dalam periode kompilasi, dan kita harus menghadapinya.
Di atas adalah semua konten yang dibawa editor kepada Anda tentang perbedaan antara diagram struktur abnormal, pengecualian periode kompilasi dan pengecualian periode. Saya harap ini akan membantu semua orang dan lebih mendukung wulin.com ~