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