1. Sumber kelainan.
Dalam aplikasi Delphi, situasi berikut lebih cenderung menghasilkan pengecualian.
(1) Pemrosesan file
(2) Alokasi memori
(3) Sumber Daya Windows
(4) Buat objek dan formulir selama runtime
(5) Konflik Perangkat Keras dan Sistem Operasi
?
2. Penanganan pengecualian.
(1) Coba ... kecuali ... Akhir ;
Ketika pengecualian terjadi dalam kode dalam tubuh coba, sistem akan beralih ke kecuali bagian untuk pemrosesan pengecualian. Ini adalah salah satu cara paling mendasar Delphi menangani pengecualian.
?
(2) Coba ... akhirnya ... akhiri ;
Struktur penanganan pengecualian ini umumnya digunakan untuk melindungi alokasi sumber daya Windows dan aspek -aspek lainnya. Ini memastikan bahwa tidak peduli apakah kode dalam tubuh mencoba memiliki pengecualian, sistem perlu menangani pemrosesan yang benar dari beberapa objek Windows yang akhirnya diproses secara merata.
Tidak seperti mencoba ... kecuali ... Akhirnya, bagian yang akhirnya dari struktur selalu dieksekusi.
?
(3) Tidak ada percobaan ... kecuali ... akhirnya ... struktur akhir untuk menangani pengecualian dan melindungi struktur alokasi sumber daya. Akhirnya ... Struktur Akhir, dengan demikian menyadari penanganan pengecualian.
?
?
3. Penanganan pengecualian yang akurat.
(1) Tentukan pengecualian.
Di Delphi, setiap pengecualian adalah kelas turunan [2] dari kelas pengecualian [1] . Oleh karena itu, mendefinisikan pengecualian adalah mendefinisikan kelas yang diturunkan dari kelas pengecualian.
ketik emyexception = class (pengecualian);
Tentu saja, kelas dasar dapat menjadi pengecualian atau tingkat pengecualian apa pun.
?
(2) Lemparkan pengecualian dalam program.
Melempar pengecualian sesuai dengan situasi yang berbeda adalah mode paling dasar menggunakan pengecualian. Di Delphi, itu diimplementasikan oleh pernyataan RAISE .
[Sintaks] Naikkan Class Exception.Create ('Deskripsi Default Exception');
?
(3) Tangkap pengecualian dengan lebih akurat dalam coba ... kecuali ... Akhir.
Gunakan kelas E : Exception Do ... struktur untuk menangani pengecualian yang dilemparkan oleh kelas pengecualian tertentu di tubuh DO.
?
4. Pengecualian debugging.
Di Delphi IDE, hapus centang status centang kotak centang debugging terintegrasi di "Opsi Debugger" (Anda dapat menggunakan alat menu—> Opsi Debugger ... untuk mengaksesnya).
?
5. Penjelasan tambahan tentang kelainan.
(1) Setiap program dapat menghasilkan kesalahan! Ini adalah fenomena dan hukum yang tidak perlu dipertanyakan lagi di industri perangkat lunak. Bahkan, struktur tradisional jika ... dapat sepenuhnya menyelesaikan semua kesalahan.
Jawabannya jelas: Pengecualian memberikan cara yang lebih fleksibel dan terbuka, memungkinkan programmer selanjutnya untuk menangani kesalahan ini berdasarkan kondisi aktual daripada menggunakan hasil pemrosesan yang telah ditentukan sebelumnya. Bahkan, saya pikir ini adalah inti dari mekanisme pengecualian.
[1] Definisi kelas pengecualian ada di unit sysutils.
[2] Delphi juga mendukung kelas pengecualian yang tidak mewarisi dari pengecualian, tetapi saya tidak berpikir itu sangat bijaksana untuk melakukannya.