Ralat ini adalah kerana apabila menggunakan puting beliung dalam python, parameter tamat masa yang ditetapkan tidak disokong. Biasanya, nilai parameter tamat masa hendaklah integer atau apungan, tetapi dalam kes ini nilai yang tidak disokong telah dihantar masuk. Mungkin jenis lain atau nilai yang tidak boleh ditukar kepada integer atau apungan.
Untuk menyelesaikan ralat ini, anda perlu memastikan bahawa nilai parameter tamat masa yang dihantar ialah integer atau apungan. Ini boleh dipastikan dengan melaraskan kod atau fail konfigurasi. Anda boleh menyemak dahulu sama ada nilai yang diluluskan dalam parameter tamat masa adalah sah Jika ia bukan integer atau float, anda boleh menggunakan fungsi seperti int() atau float() untuk menukarnya kepada nilai undang-undang.
Sebelum anda menggunakan parameter tamat masa, anda juga boleh menyemak sama ada parameter tamat masa itu sah Jika tidak, tetapkan nilai lalai atau buang pengecualian.
Ya, berikut adalah contoh mudah:
import tornado.ioloop def handle_timeout(): print("timeout occurred") def start_timeout(timeout): if not isinstance(timeout, (int,float)): raise ValueError("timeout must be a number") tornado.ioloop.IOLoop.current().call_later(timeout, handle_timeout) try: start_timeout(10) # this will work start_timeout("10") # this will raise ValueError except ValueError as e: print(str(e))
Dalam contoh ini, kami menyemak sama ada parameter tamat masa yang dihantar ialah integer atau apungan Jika tidak, pengecualian ValueError akan dilemparkan
Cara lain ialah menggunakan nilai lalai, seperti
def start_timeout(timeout=10): if not isinstance(timeout, (int,float)): timeout = 10 tornado.ioloop.IOLoop.current().call_later(timeout, handle_timeout) start_timeout() # this will use the default timeout of 10s
Di sini, kami menggunakan nilai lalai 10s Jika parameter tamat masa yang dihantar adalah menyalahi undang-undang, kami menggunakan nilai lalai.
Atas ialah kandungan terperinci Apakah yang berlaku apabila puting beliung melaporkan TypeError(\'Tamat masa tidak disokong %r\' % tamat masa)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!