Perangkap Bare 'kecuali' Blok
Apabila mencipta fungsi untuk menyemak kehadiran imej pada skrin menggunakan PyAutoGUI, pendekatan biasa ialah menggunakan blok 'kecuali' untuk mengendalikan kemungkinan pengecualian. Walau bagaimanapun, PyCharm memberi amaran supaya tidak membiarkan 'kecuali' kosong, menimbulkan persoalan: apakah kelemahannya?
Risiko Bare 'except'
Blok 'except' kosong, yang tidak menyatakan jenis pengecualian tertentu, boleh membawa kepada yang tidak dijangka akibat:
Amalan Terbaik: Pengecualian Sasaran Mengendalikan
Untuk mengurangkan risiko ini, adalah penting untuk menentukan pengecualian khusus yang anda jangkakan. Dalam kes ini, ralat yang dijangkakan ialah pyautogui.ImageNotFoundException, menunjukkan bahawa imej tidak dapat dikesan pada skrin. Kod yang disemak hendaklah mengendalikan pengecualian ini secara eksplisit:
def check_image_on_screen(image): try: pyautogui.locateCenterOnScreen(image) return True except pyautogui.ImageNotFoundException: return False
Dengan mengenal pasti pengecualian khusus, anda mendayakan pengendalian ralat disasarkan, membenarkan atur cara mengendalikan dengan baik hanya kegagalan yang dijangkakan sambil menyerahkan ralat yang tidak diketahui kepada penterjemah untuk tindakan yang sewajarnya .
Atas ialah kandungan terperinci Mengapakah Blok Bare `kecuali` dalam Python Idea Buruk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!