在python中用try except能輸出哪行報錯嗎

2021-05-22 22:30:47 字數 2222 閱讀 8028

1樓:風吹的小羊

異常資訊的獲取對bai於程式

du的除錯非常重要,可以有助zhi於快速定位有錯誤dao程式語句的位置內。下面介紹幾種python中獲取容異常資訊的方法,這裡獲取異常(exception)資訊採用try...except...

程式結構。

1、str(e)返回字串型別,只給出異常資訊,不包括異常資訊的型別,如1/0的異常資訊'integer division or modulo by zero'。

2、repr(e),給出較全的異常資訊,包括異常資訊的型別,如1/0的異常資訊"zerodivisionerror('integer division or modulo by zero',)"。

3、e.message,獲得的資訊同str(e)。

4、採用traceback模組,需要匯入traceback模組,此時獲取的資訊最全,與python命令列執行程式出現錯誤資訊一致。使用traceback.print_exc()列印異常資訊到標準錯誤,就像沒有獲取一樣,或者使用traceback.

format_exc()將同樣的輸出獲取為字串。你可以向這些函式傳遞各種各樣的引數來限制輸出,或者重新列印到像檔案型別的物件。

請問在python中 用try except能輸出哪行報錯麼?

2樓:匿名使用者

import traceback

try:

except:

tracebak.print_exc()

列印函式棧bai

第一個報錯是du型別報錯,一般寫程式的zhi時候能夠知道操dao作數是什麼內型別,不要用錯了函容數就好。活著使用 『get』 in dir(var)來判斷一下。不過這樣比較麻煩

第二個是none物件,程式執行時錯誤,在遍歷物件前使用:

if var:

for i in var:

do something...

3樓:匿名使用者

使用功能更強大的logging吧,找個教程看看,比你簡單print出來要方便得多

python3 中的try... except exception,e: ...怎麼不能用了?變成什麼了呢?

4樓:匿名使用者

對,語法改了,應該是:

except exception as e:

順便問一下,**左邊的行號是怎麼弄出來的?

5樓:匿名使用者

try:

...except exception as e:...

6樓:青島

try和except必須對齊,否則報錯。我就遇到了這樣的錯誤。

7樓:jinson無悔

這個格式是python2.7的格式。python3改了,變成 except exception as e:,有不少語法不太一樣。

8樓:隨風飄揚

恩,是語法改了。

except exception as e:

***x

python try except有什麼用?

9樓:暗客默燭

一般情況確實都可以這樣做,但是如果像這樣呢:

list(m)[int(n)]

它可能出現的異常有indexerror(下標越界)回和valueerror(強轉失敗)兩種,那究竟是答m的值不符合你的預期,還是n不符合?

在專案中,這兩種異常,可能分別意味著兩個不同地方的處理邏輯有異常,只有區分開,才能方便的進行異常處理或debug。

10樓:匿名使用者

1.程式執行來的時候,出現異常自,並不一定需要中止程bai序,因為du可能這個異常,可能這種

zhi異常時可處理的,dao或者是能預期到的異常,這個時候,我們需要知道到底是哪種異常,然後做相對於的後續處理。比如,qq傳輸檔案,萬一網路不穩定,正在傳輸的檔案失敗了,這個時候,異常發生了,但不能說你qq出問題了,需要重啟吧,只需要捕獲檔案傳輸失敗的異常就可以了,其他程序該幹嘛幹嘛。但有些時候,比如網路中斷了,這個時候,捕獲的異常就要中斷,或者掛起絕大部分程序了,因為大部分程序斷網後是無法繼續的,這個時候,也是需要知道具體的異常是哪一類。

2. debug的時候需要具體的錯誤資訊。

python執行錯誤怎麼辦?

在python中用while語句列印出倒三角形

列印倒立的正三角形 hang int input 請輸入行數 y 1 while y hang space 1 while space y print end space 1 x hang y while x 0 print end x 1 print y 1 print 圖形列印完成!i int ...

Mybatis怎麼在mapper中用多個引數

其中,代表接收的是dao層中的第一個引數,代表dao層中第內二引數,更多引數一致往後加即容可。mybatis怎麼在mapper中用多個引數 第一bai種方案 dao層的du函式方法 mybatis傳遞多個引數的方法是什麼?封裝成物件或者map傳遞 mybatis 多個引數 parametertype...

Mybatis怎麼在mapper中用多個引數

第一bai種方案 dao層的du函式方法 mybatis怎麼在mapper中用多個引數 其中,代表接收的是dao層中的第一個引數,代表dao層中第內二引數,更多引數一致往後加即容可。mybatis傳遞多個引數的方法是什麼?封裝成物件或者map傳遞 mybatis的xml對映檔案怎麼傳多個引數?myb...