Python 板


LINE

其實這不是單純python的問題,但python是我慣用的程式語言所以發在這裡。 請問各位先進關於例外處理的"方法",有沒有什麼書、教學或是基本原則可 以推薦? 我目前看過的書對於例外處理都著重於語法上的說明,導致真的要用的時候 try要框多大、那些東西是該except的我沒什麼概念,另外很多人都說 exception可以分離錯誤處理跟商務邏輯,但我看書上的範例卻沒什麼感覺, 好像只是另一種形式的if錯誤測試。到最後code裡好像真的也沒用到什麼 try/except,問題都等到真正程式在執行的時候才會發現一個改一個。 另外因為except後程式會中斷,導致我也不太敢用python做一些需要長時間 運行、穩定性高的程式。這都是源於我對於例外處理的認識不足導致,我想 要克服這個狀況。 謝謝。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.89.184 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1599578920.A.140.html
1F:推 remia81: try except else finally組合起來用可以不中斷 09/09 01:15
2F:→ keepingJBJ: 我的理解上if...else是程式處理對象或物件的邏輯,try 09/09 03:28
3F:→ Pieteacher: while 搭配 try except 跟 break continues 09/09 07:57
4F:→ TuCH: 程式出錯了不中斷是要繼續錯下去嗎 09/09 08:16
5F:→ icetofux: 如果像是server這類的程式,當某次請求發生錯誤,比起直 09/09 09:34
6F:→ icetofux: 接中斷,會不會忽略這個請求的後續動作,但繼續服務其他 09/09 09:34
7F:→ icetofux: 的連線是比較好的選擇@_@ 09/09 09:34
8F:推 TuCH: 如果目的是要不中斷 那就要最外層包一個try 去處理例外 09/09 09:58
9F:推 ddavid: Server不中斷也有其極限,最外圈硬包try其實不是好的作法 09/09 11:26
10F:→ ddavid: ,或者說也不是不行,但內部還是要對小部分把預想到的狀況 09/09 11:28
11F:→ ddavid: 都各自處理掉,最外圈只接完全沒設想到的狀況 09/09 11:29
12F:→ ddavid: 當然在沒設想到的狀況發生時硬要Server繼續跑下去也可能風 09/09 11:30
13F:→ ddavid: 險很大,需要評估取捨 09/09 11:31
14F:→ ddavid: 比如說硬碟滿了,Server硬跑的結果可能就是後續使用者的操 09/09 11:32
15F:→ ddavid: 作全部無法紀錄,這樣硬跑結果最後還是全回溯是否有比較好 09/09 11:33
16F:→ alvinlin: 程式寫多了就有感覺了。還有你寫反了,有了except程式才 09/09 19:10
17F:→ alvinlin: 不會中斷。 09/09 19:11
18F:→ alvinlin: 程式是先中斷了,except是去接中斷後去處理。 09/09 19:12
19F:→ alvinlin: 很簡單的例子就是除0的中斷。 09/09 19:13
20F:→ alvinlin: 通常能用if就不會用try。所以try是在if沒辦法解決問題的 09/10 11:41
21F:→ alvinlin: 情況用的 09/10 11:41
22F:→ alvinlin: 或是你覺得有寫不完的if只好try了 09/10 11:43
23F:→ alvinlin: 要程式不中斷,就在except裡寫個pass,你的程式就永遠不 09/10 11:47
24F:→ alvinlin: 會中斷了。只是結果也不對而已 09/10 11:47
25F:→ alvinlin: 還有就是你想要刻意exception的,讓不同的exception 有 09/10 11:55
26F:→ alvinlin: 對應的處理方式 09/10 11:55
27F:推 ddavid: 樓上說的是例外處理的一般論,但我一直覺得Python根本上的 09/10 16:43
28F:→ ddavid: 設計有不少成分在幾近強迫使用者採取例外控制流程而非if 09/10 16:44
29F:→ ddavid: 不少套件根本性地不提供return value而只給exception來處 09/10 16:45
30F:→ ddavid: 理即便用if也很直覺合理的事情 09/10 16:46
31F:→ ddavid: 這時候就很容易發生到底是要依循能if就if的概念,接了他的 09/10 16:47
32F:→ ddavid: exception後改用return往自己code的更上層傳,還是保持一 09/10 16:47
33F:→ ddavid: 致性地就接個手做點必要處理後raise繼續往上層 09/10 16:48
34F:→ ddavid: 這樣的考慮空間 09/10 16:49
35F:→ alvinlin: 可能有吧,但又何妨。反正左手右手打到蚊子就是好手,兩 09/11 01:47
36F:→ alvinlin: 手一起也行。我自己是能用if儘量不用exception,但對電 09/11 01:47
37F:→ alvinlin: 腦來說其實不是0就是1沒差別。對套件來說,可能exceptio 09/11 01:47
38F:→ alvinlin: n比較好外包吧。 09/11 01:47
39F:→ alvinlin: 總之,能達到目的其實都好。 09/11 01:51







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP