Bisakah saya membuat PEMBARUAN: Saya akan menjelaskan motivasi saya: Sampai sekarang, saya sudah menjalani tes gaya pernyataan yang menimbulkan pengecualian saya sendiri; Misalnya, ketika Anda membuat objek Tapi saya tahu bahwa Python memiliki
mode Ini akan bekerja Tapi ini agak gila.
Kenapa tidak mengikuti yang berikut? Ini tidak gila.
Itu hanya sedikit lebih banyak daripada pernyataan Pertimbangkan ini.
Maka Anda dapat lebih atau kurang mengganti pernyataan yang ada dengan sesuatu seperti ini.
Setelah Anda melakukan ini, Anda sekarang bebas untuk sibuk dengan mengaktifkan atau menonaktifkan atau apa pun yang Anda coba lakukan. Juga, baca di modul peringatan . Ini mungkin persis apa yang Anda coba lakukan. Bagaimana dengan ini?
Python juga melewatkan
Anda dapat membuatnya lebih pendek dengan memindahkan kondisi Jangan pernah menggunakan pernyataan untuk logika! Hanya untuk pemeriksaan pengujian opsional. Ingat, jika Python berjalan dengan optimisasi dihidupkan, menegaskan bahkan tidak dikompilasi ke dalam bytecode. Jika Anda melakukan ini, Anda jelas peduli dengan pengecualian yang diajukan dan jika Anda peduli, maka Anda menggunakan pernyataan salah sejak awal. Anda dapat membiarkan manajer konteks melakukan konversi untuk Anda, di dalam blok with (yang dapat berisi lebih dari satu pernyataan, atau lebih banyak panggilan kode dan fungsi atau apa yang Anda inginkan.
Lihat versi sebelumnya dari jawaban ini untuk mengganti objek pengecualian yang dikonstruksi secara langsung ( Untuk melihat apakah percobaan memiliki overhead, saya mencoba eksperimen ini di sini adalah myassert.py
Setidaknya dalam Python 2.6.3, ini juga akan berfungsi:
Jika Anda ingin menggunakan konfirmasi untuk ini, ini sepertinya bekerja dengan cukup baik:
Perhatikan bahwa dalam pernyataan tersebut, hal-hal setelah koma hanya akan dievaluasi jika kondisinya salah, sehingga |