Jadual Kandungan
1. Pengenalan kepada pengecualian" >1. Pengenalan kepada pengecualian
<2> except捕获多个异常" ><2> except捕获多个异常
实际开发中,捕获多个异常的方式,如下:" >实际开发中,捕获多个异常的方式,如下:
注意:
" >注意:
<3>获取异常的信息描述" ><3>获取异常的信息描述
<4>捕获所有异常" ><4>捕获所有异常
<5> else" ><5> else
<6> try...finally...
" ><6> try...finally...
Rumah pembangunan bahagian belakang Tutorial Python Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python

Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python

Jul 25, 2023 pm 03:42 PM
python

1. Pengenalan kepada pengecualian

Apabila Python mengesan ralat, jurubahasa tidak boleh terus melaksanakan, sebaliknya, beberapa gesaan ralat yang dipanggil "pengecualian". . atau direktori: 123.txt (Tiada fail atau direktori seperti 123.txt).

print&#39;-----test--1---&#39;
open(&#39;123.txt&#39;,&#39;r&#39;)
print &#39;-----test--2---&#39;
Salin selepas log masuk

Hasil lari:

<1>Tangkap pengecualian cuba...kecuali...

Hasil larian:


Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian PythonPenjelasan:


Program ini tidak dapat melihat sebarang ralat kerana pengecualian IOError ditangkap dengan except dan kaedah untuk mengendalikannya ditambah.

  • pass 表示实现了相应的实现,但什么也不做;如果把pass改为print语句,那么就会输出其他信息。

  • 小总结 :

    • 把可能出现问题的代码,放在try中。

    • 把处理异常的代码,放在except中。

    <2> except捕获多个异常

    例 :

    try:
        print(num)
    except IOError:
        print(&#39;产生错误了&#39;)
    Salin selepas log masuk

    运行结果 :

    Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python

    想一想:

    上例程序,已经使用except来捕获异常了,为什么还会看到错误的信息提示?

    答:

    except捕获的错误类型是IOError,而此时程序产生的异常为 NameError ,所以except没有生效。

    修改后的代码为 :

    try:
       print(num)
    except NameError:
        print(&#39;产生错误了&#39;)
    Salin selepas log masuk

    运行结果

    Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python

    实际开发中,捕获多个异常的方式,如下:
    #coding=utf-8
    try:
        print(&#39;-----test--1---&#39;)
        open(&#39;123.txt&#39;,&#39;r&#39;) # 如果123.txt文件不存在,那么会产生 IOError 异常
        print(&#39;-----test--2---&#39;)
        print(num)# 如果num变量没有定义,那么会产生 NameError 异常
    
    
    except (IOError,NameError): 
        #如果想通过一次except捕获到多个异常可以用一个元组的方式
    Salin selepas log masuk
    注意:

    当捕获多个异常时,可以把要捕获的异常的名字,放到except 后,并使用元组的方式仅进行存储。


    <3>获取异常的信息描述

    try:
        open("a.txt")
    except(NameError,IOError) as result:
        print("捕抓到异常")
        print("信息展示:",result)
    Salin selepas log masuk

    运行结果:

    Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python


    <4>捕获所有异常

    try:
        open("a.txt")
    except Exception as result:
        print("捕抓到异常")
        print("信息展示:",result)
    Salin selepas log masuk

    运行结果:

    Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python

    <5> else

    咱们应该对else并不陌生,在if中,它的作用是当条件不满足时执行的实行;同样在try...except...中也是如此,即如果没有捕获到异常,那么就执行else中的事情。

    try:
        num = 100
        print(num)
    except NameError as errorMsg:
        print(&#39;产生错误了:%s&#39; % errorMsg)
    else:
        print(&#39;没有捕获到异常,真高兴&#39;)
    Salin selepas log masuk

    运行结果如下:

    Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python

    <6> try...finally...

    try...finally...语句用来表达这样的情况:

    在程序中,如果一个段代码必须要执行,即无论异常是否产生都要执行,那么此时就需要使用finally。比如文件关闭,释放锁,把数据库连接返还给连接池等。

    demo:

    import time
    try:
        f = open(&#39;test.txt&#39;)
        try:
            while True:
                content = f.readline()
                if len(content) == 0:
                    break
                time.sleep(2)
                print(content)
        except:
            #如果在读取文件的过程中,产生了异常,那么就会捕获到
            #比如 按下了 ctrl+c
            pass
        finally:
            f.close()
            print(&#39;关闭文件&#39;)
    except:
        print("没有这个文件")
    Salin selepas log masuk

    运行结果:

    Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python

    说明:

    test.txt文件中每一行数据打印,但是我有意在每打印一行之前用time.sleep方法暂停2秒钟。这样做的原因是让程序运行得慢一些。在程序运行的时候,按Ctrl+c中断(取消)程序。

    我们可以观察到KeyboardInterrupt异常被触发,程序退出。但是在程序退出之前,finally从句仍然被执行,把文件关闭。


    三、总结

    本文讲解了Python基础之异常知识 ,介绍了常见的异常操作,用丰富的案例,帮助大家更好的去了解异常常见的的基础操作。

    Atas ialah kandungan terperinci Artikel untuk membantu anda memahami pengenalan dan analisis kes pengecualian Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan Laman Web ini
    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

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

    PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

    Memilih antara php dan python: panduan Memilih antara php dan python: panduan Apr 18, 2025 am 12:24 AM

    PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

    Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

    Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

    Boleh kod vs dijalankan di Windows 8 Boleh kod vs dijalankan di Windows 8 Apr 15, 2025 pm 07:24 PM

    Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

    Adakah sambungan vscode berniat jahat? Adakah sambungan vscode berniat jahat? Apr 15, 2025 pm 07:57 PM

    Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

    Bolehkah kod studio visual digunakan dalam python Bolehkah kod studio visual digunakan dalam python Apr 15, 2025 pm 08:18 PM

    Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

    PHP dan Python: menyelam mendalam ke dalam sejarah mereka PHP dan Python: menyelam mendalam ke dalam sejarah mereka Apr 18, 2025 am 12:25 AM

    PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

    Cara menjalankan program di terminal vscode Cara menjalankan program di terminal vscode Apr 15, 2025 pm 06:42 PM

    Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

    See all articles