日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python Intel Real Sense D435 异常检测与抛出(获取/打印异常详细信息 traceback.print_exc())

發布時間:2025/3/20 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python Intel Real Sense D435 异常检测与抛出(获取/打印异常详细信息 traceback.print_exc()) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 背景描述
  • 首先熟悉一下python異常處理的幾個關鍵字
  • 攝像頭USB斷開異常
  • 獲取異常詳細信息

背景描述

在攝像頭運行的時候,有時候會遇到一些錯誤,比如幀傳輸錯誤引起的程序結束,

但更為嚴重的是攝像頭USB線的斷連,

如何檢測這種不同嚴重程度的錯誤并對錯誤進行相應的處理,是我們需要考慮的

如果攝像頭出現問題,如何檢測出這是軟掉線(如幀傳輸錯誤)還是硬掉線(USB因外力或震動接觸不良)呢?

有沒有辦法通過對報錯類型的分辨達到我們對異常結果檢測的目的呢?

首先熟悉一下python異常處理的幾個關鍵字

pass 什么都不做,按照程序正常流程運行
else 無異常情況下運行(如果捕獲到異常就不執行)
finally 無論怎么都要運行

同樣,在循環內使用異常捕獲語句(try…except),和將循環應用在異常捕獲語句(try…except)中,又可能會產生不同的效果。。

在循環中合理使用continue、break也能使程序產生不同結果。。。

獲取異常信息:

try:... except Exception as e:error=str(e)print(error)

except: 捕捉所有(其他)異常類型
except name: 只捕捉特定的異常
except name,value: 捕捉所有的異常和其額外的數據(或實例)
except (name1,name2) 捕捉任何列出的異常
except (name1,name2),value: 捕捉任何列出的異常,并取得其額外數據
else: 如果沒有引發異常,就運行
finally: 總是會運行此代碼塊,無論是否發生異常
except:用在想不到異常情況,在except:前面可以定義可以想到的異常:except name1: except name2:
raise: 手動在代碼中接觸發異常。

攝像頭USB斷開異常


打印異常信息為:

Exception: Frame didn't arrived within 5000

那么,我們該如何指定捕獲它呢?

獲取異常詳細信息

通過代碼:

import tracebacktry:1/0 except Exception as e:traceback.print_exc()


貌似打印出來啥也沒有啊??

哦,還是有的,它把之前一旦報錯就結束程序的信息給打印出來了。。

那么,解決方案就是,將捕捉runtime error后處理設定標記,跳出循環,重新配置,其余繼續在本循環內運行?

參考文章1:python捕獲異常及方法總結

參考文章2:關于python異常捕獲的測試 - 炊煙的文章 - 知乎

參考文章3:python——獲取更加詳細的異常信息

總結

以上是生活随笔為你收集整理的python Intel Real Sense D435 异常检测与抛出(获取/打印异常详细信息 traceback.print_exc())的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。