Bolehkah saya Mengendalikan Amaran dengan cuba/tangkap?
Mekanisme blok cuba/tangkap dalam PHP direka untuk pengecualian, bukan amaran. Apabila fungsi PHP asli memberikan amaran, seperti dalam kes dns_get_record, pendekatan biasa melibatkan penggunaan strategi alternatif:
Set dan Pulihkan Pengendali Ralat
Kaedah ini melibatkan menetapkan pengendali ralat tersuai sebelum memanggil fungsi dan memulihkan pengendali ralat sebelumnya selepas panggilan. Pengendali ralat boleh digunakan untuk mengendalikan dan log amaran.
Mengubah Ralat menjadi Pengecualian
Menggunakan fungsi set_error_handler() dan kelas ErrorException, anda boleh menukar PHP kesilapan menjadi pengecualian. Ini membolehkan anda menangkap amaran menggunakan blok cuba/tangkap.
Mencegah Amaran
Walaupun tidak disyorkan, adalah mungkin untuk menyekat amaran menggunakan operator @. Walau bagaimanapun, menyemak nilai pulangan fungsi selepas penindasan adalah perlu untuk menentukan sama ada pertanyaan DNS gagal.
Amalan Terbaik
Memilih amalan terbaik bergantung pada situasi tertentu dan keperluan:
Atas ialah kandungan terperinci Bolehkah saya Menggunakan Blok cuba/tangkap untuk Mengendalikan Amaran PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!