Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Amaran dalam Python

Amaran dalam Python

Barbara Streisand
Barbara Streisandasal
2024-10-23 08:15:02683semak imbas

Warning in Python

Beli Saya Kopi☕

Amaran ialah mesej amaran yang pada dasarnya tidak menimbulkan pengecualian dan tidak menamatkan program.

Terdapat kategori amaran seperti yang ditunjukkan di bawah:

Class Disposition
Warning This is the base class of all warning category classes. It is a subclass of Exception.
UserWarning The default category for warn().
DeprecationWarning Base category for warnings about deprecated features when those warnings are intended for other Python developers (ignored by default, unless triggered by code in __main__).
SyntaxWarning Base category for warnings about dubious syntactic features.
RuntimeWarning Base category for warnings about dubious runtime features.
FutureWarning Base category for warnings about deprecated features when those warnings are intended for end users of applications that are written in Python.
PendingDeprecationWarning Base category for warnings about features that will be deprecated in the future (ignored by default).
ImportWarning Base category for warnings triggered during the process of importing a module (ignored by default).
UnicodeWarning Base category for warnings related to Unicode.
UnicodeWarning Base category for warnings related to Unicode.
BytesWarning Base category for warnings related to bytes and bytearray.
ResourceWarning Base category for warnings related to resource usage (ignored by default).

warn() boleh berlaku secara manual amaran seperti yang ditunjukkan di bawah:

*Memo:

  • Argumen pertama ialah mesej(Jenis Diperlukan:str).
  • Argumen ke-2 ialah kategori(Pilihan-Lalai:Tiada-Jenis:Amaran). *Jika Tiada, Amaran Pengguna ditetapkan kepadanya.
  • Argumen ke-3 ialah stacklevel(Optional-Default:1-Type:int). *Ia menentukan kod yang dirujuk oleh amaran.
  • Argumen ke-4 ialah sumber(Pilihan-Lalai:Tiada-Jenis:Mana-mana).
  • Terdapat argumen skip_file_prefixes(Optional-Default:None-Type:tuple of str): *Memo:
    • skip_file_prefixes= mesti digunakan.
    • Menetapkan Tiada padanya secara manual mendapat ralat.
import warnings

warnings.warn(message="This is a warning.")
# UserWarning: This is a warning.
#   warnings.warn(message="This is a warning.")

warnings.warn(message="This is a warning.",
              category=None,
              stacklevel=1,
              source=None,
              skip_file_prefixes=())
# UserWarning: This is a warning.
#   warnings.warn(message="This is a warning.",

warnings.warn(message="This is a warning.",
              category=Warning)
# Warning: This is a warning.
#   warnings.warn(message="This is a warning.",

warnings.warn(message="This is a warning.",
              category=DeprecationWarning)
# DeprecationWarning: This is a warning.
#   warnings.warn(message="This is a warning.",

def test1():
    warnings.warn(message="Warning 1",
                  stacklevel=-100)
    warnings.warn(message="Warning 2",
                  stacklevel=0)
    warnings.warn(message="Warning 3",
                  stacklevel=1)
    warnings.warn(message="Warning 4",
                  stacklevel=2)
    warnings.warn(message="Warning 5",
                  stacklevel=3)
    warnings.warn(message="Warning 6",
                  stacklevel=4)
    warnings.warn(message="Warning 7",
                  stacklevel=5)
    warnings.warn(message="Warning 8",
                  stacklevel=100)
def test2():
    test1()

def test3():
    test2()
test3()
# UserWarning: Warning 1
#   warnings.warn(message="Warning 1",
# UserWarning: Warning 2
#   warnings.warn(message="Warning 2",
# UserWarning: Warning 3
#   warnings.warn(message="Warning 3",
# UserWarning: Warning 4
#   test1()
# UserWarning: Warning 5
#   test2()
# UserWarning: Warning 6
#   test3()
# UserWarning: Warning 7
#   exec(code_obj, self.user_global_ns, self.user_ns)
# UserWarning: Warning 8

Atas ialah kandungan terperinci Amaran dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Pantau pelayan dengan TelegramArtikel seterusnya:Pantau pelayan dengan Telegram