一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python中的異常機(jī)制(一)

麥辣雞腿堡 ? 來(lái)源:python都知道 ? 作者:了不起 ? 2023-05-11 18:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

哈嘍, 大家好, 我是了不起!

歡迎大家來(lái)觀看了不起的冒險(xiǎn)之旅. 為了方便起見(jiàn), 文中以小知為名. 講述了不起在Python異世界的冒險(xiǎn)之旅.

白天冒險(xiǎn), 晚上學(xué)習(xí). 小知可是身體和心理沒(méi)有一刻不在路上. 在今夜首先了解什么是異常: 軟件程序在運(yùn)行過(guò)程中,可能會(huì)遇到能使其不能正常運(yùn)行的問(wèn)題,我們稱之為異常,英文是:Exception . 然后, 我們會(huì)了解捕獲異常的四種方式


一、異常是什么


程序在運(yùn)行過(guò)程中發(fā)生的意外情況,稱為異常, 程序運(yùn)行時(shí)一旦出現(xiàn)了異常,將會(huì)導(dǎo)致程序立即終止,異常之后的代碼將無(wú)法繼續(xù)執(zhí)行,所以需要對(duì)異常進(jìn)行處理

異常機(jī)制本質(zhì)

  • 當(dāng)程序出現(xiàn)異常,程序安全的退出、處理完后繼續(xù)執(zhí)行的機(jī)制

python中,引進(jìn)了很多用來(lái)描述和處理異常的類,稱為異常類. 異常類定義中包含了該類異常的信息和對(duì)異常進(jìn)行處理的方法.下面較為完整的展示了python中內(nèi)建異常類的繼承層次:

pYYBAGRcvAeAQvtzAADTUrtMZEI650.png

解決思路

異常解決的關(guān)鍵:定位當(dāng)發(fā)生異常時(shí),解釋器會(huì)報(bào)相關(guān)的錯(cuò)誤信息,并會(huì)在控制臺(tái)打印出相關(guān)錯(cuò)誤信息. 我們只需按照從上到下的順序即可追溯(Trackback)錯(cuò)誤發(fā)生的過(guò)程,最終定位引起錯(cuò)誤的哪一行代碼.

實(shí)操代碼

#測(cè)試簡(jiǎn)單的0不能做除數(shù)異常

#因?yàn)槿绻僭O(shè)成立,則說(shuō)明3/0=0=>可以推導(dǎo)0*0=3,因?yàn)榻Y(jié)果不成立,因此假設(shè)不成立

#a=3/0

defa():

print("runina()start!")

num=1/0

print("runina()end!")

defb():

print("runinb()start!")

a()

print("runinb()end!")

defc():

print("runinc()start!")

b()

print("runinc()end!")

print("step1")

c()

print("step2")

結(jié)果輸出

從打印輸出結(jié)果來(lái)看, 最底層的方法(eg: a())出錯(cuò)之后, 會(huì)在上層調(diào)用的方法位置處拋出異常. 因?yàn)殄e(cuò)誤信息以棧的形式輸出, 因此最頂層的調(diào)用因?yàn)橄却蛴? 所以會(huì)先被我們看到. 因此對(duì)底層/最有用的信息一般位于最下面.

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3826

    瀏覽量

    82867
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86623
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FEM模擬python異常

    1148,在genericEmdsCall引發(fā)異常(文本) 以上來(lái)自于谷歌翻譯 以下為原文Hello i gotthe following Python error message when
    發(fā)表于 02-14 15:14

    如何使用Python檢測(cè)電動(dòng)機(jī)異常情況

    該項(xiàng)目演示如何使用 Python 訓(xùn)練兩種不同的機(jī)器學(xué)習(xí)模型來(lái)檢測(cè)電動(dòng)機(jī)異常情況。 第個(gè)模型依賴于馬哈拉諾比斯距離的經(jīng)典機(jī)器學(xué)習(xí)技術(shù)。 第二個(gè)模型是使用 TensorFlow 和
    發(fā)表于 09-08 08:14

    python常見(jiàn)異常類型

    python常見(jiàn)異常類型在程序運(yùn)行過(guò)程,總會(huì)遇到各種各樣的問(wèn)題和錯(cuò)誤。有些錯(cuò)誤是我們編寫(xiě)代碼時(shí)自己造成的,比如語(yǔ)法錯(cuò)誤、調(diào)用錯(cuò)誤,甚至邏輯錯(cuò)誤。下面這個(gè)例子,在輸入 if 后輸入回車了,沒(méi)有按照
    發(fā)表于 03-04 16:59

    python如何主動(dòng)拋出異常和捕獲異常

    關(guān)鍵字拋出。在 Python 是使用 raise 關(guān)鍵字來(lái)拋出異常的,比如在下面這個(gè)函數(shù),如果不存在目標(biāo)文件,則會(huì)拋出個(gè) Excep
    發(fā)表于 03-04 17:10

    Cortex-M3的異常處理機(jī)制分析

    Cortex-M3的異常處理機(jī)制分析  詳細(xì)闡述CortexM3異常的分類、優(yōu)先級(jí)、進(jìn)入和退出,以及在CortexM3異常處理機(jī)制
    發(fā)表于 03-29 15:07 ?2180次閱讀
    Cortex-M3的<b class='flag-5'>異常</b>處理<b class='flag-5'>機(jī)制</b>分析

    C++異常機(jī)制探討

    C++的異常機(jī)制為我們提供了更好的解決方法。異常處理的基本思想是:當(dāng)出現(xiàn)錯(cuò)誤時(shí)拋出個(gè)異常,希望它的調(diào)用者能捕獲并處理這個(gè)
    發(fā)表于 11-23 11:04 ?3589次閱讀
    C++<b class='flag-5'>異常</b><b class='flag-5'>機(jī)制</b>探討

    基于Python 異常的介紹以及異常處理的方法解析

    異常處理在任何門編程語(yǔ)言里都是值得關(guān)注的個(gè)話題,良好的異常處理可以讓你的程序更加健壯,清晰的錯(cuò)誤信息更能幫助你快速修復(fù)問(wèn)題。在Python
    的頭像 發(fā)表于 01-31 14:20 ?6569次閱讀
    基于<b class='flag-5'>Python</b> <b class='flag-5'>異常</b>的介紹以及<b class='flag-5'>異常</b>處理的方法解析

    基于Greenshield模型的異常節(jié)點(diǎn)檢測(cè)機(jī)制

    面向車輛自組網(wǎng)的安全通信問(wèn)題,提出種基于Greenshield模型的異常節(jié)點(diǎn)檢測(cè)機(jī)制。結(jié)合車輛自組網(wǎng)的特點(diǎn),構(gòu)造Greenshield模型,計(jì)算車輛速度、車輛密度和車流量參數(shù)。在此基礎(chǔ)上依據(jù)車輛
    發(fā)表于 03-29 09:54 ?0次下載

    C++的異常機(jī)制底層原理與實(shí)際應(yīng)用詳細(xì)說(shuō)明

    我們?cè)趯?duì) vector 做 push 操作的時(shí)候,或者對(duì)某個(gè)指針做 new 操作的時(shí)候,如果沒(méi)有做異常處理,旦系統(tǒng)內(nèi)存不夠用了,程序是會(huì)被 terminate 掉的。這就要求我們熟悉 C++ 異常,保證日常開(kāi)發(fā)
    的頭像 發(fā)表于 11-22 11:34 ?3434次閱讀

    Python中有哪些常見(jiàn)的錯(cuò)誤和異常

    python常見(jiàn)異常類型 在程序運(yùn)行過(guò)程,總會(huì)遇到各種各樣的問(wèn)題和錯(cuò)誤。 有些錯(cuò)誤是我們編寫(xiě)代碼時(shí)自己造成的,比如語(yǔ)法錯(cuò)誤、調(diào)用錯(cuò)誤,甚至邏輯錯(cuò)誤。下面這個(gè)例子,在輸入 if 后輸入回車了,沒(méi)有
    的頭像 發(fā)表于 03-04 16:58 ?4472次閱讀

    python如何捕獲異常和主動(dòng)拋出異常

    ,使用 raise 關(guān)鍵字拋出。 在 Python 是使用 raise 關(guān)鍵字來(lái)拋出異常的,比如在下面這個(gè)函數(shù),如果不存在目標(biāo)文件,則會(huì)拋出
    的頭像 發(fā)表于 03-04 17:09 ?1w次閱讀

    Python-模塊、包、異常

    * 程序運(yùn)行時(shí),如果Python 解釋器遇到了錯(cuò)誤,會(huì)停止程序運(yùn)行,并且提示錯(cuò)誤信息,**這就是異常**,* 程序停止執(zhí)行并提示錯(cuò)誤信息的動(dòng)作,稱為 **拋出異常**
    的頭像 發(fā)表于 02-16 15:40 ?939次閱讀
    <b class='flag-5'>Python</b>-模塊、包、<b class='flag-5'>異常</b>

    C++程序異常處理機(jī)制是什么

    那么C++設(shè)計(jì)了異常處理機(jī)制,方面能夠使得異常處理和正常運(yùn)行代碼進(jìn)行分離,使得程序更加模塊化;另
    的頭像 發(fā)表于 02-21 10:37 ?1147次閱讀
    C++程序<b class='flag-5'>異常</b>處理<b class='flag-5'>機(jī)制</b>是什么

    Python異常機(jī)制(二)

    二、try和except結(jié)構(gòu) try...個(gè)except結(jié)構(gòu) 這種結(jié)構(gòu)是最常見(jiàn), 也是最常用的結(jié)構(gòu) 語(yǔ)法結(jié)構(gòu) try: ?被監(jiān)控的可能引發(fā)異常的語(yǔ)句塊 except??BaseException
    的頭像 發(fā)表于 05-11 18:20 ?1105次閱讀

    arm異常響應(yīng)和異常返回機(jī)制是什么樣子的?

    arm異常響應(yīng)和異常返回機(jī)制是什么樣子的?? ARM是種RISC指令集架構(gòu),廣泛用于無(wú)線電視、移動(dòng)電話、嵌入式系統(tǒng)等領(lǐng)域。ARM
    的頭像 發(fā)表于 10-19 16:36 ?1405次閱讀