Posted on 2021-09-17 10:59
eryar 閱讀(1002)
評論(0) 編輯 收藏 引用 所屬分類:
1.PipeCAD
PipeCAD - 異常處理
eryar@163.com
Key Words. PipeCAD, 三維管道設(shè)計軟件,異常處理,Exception
1 Introduction
面向?qū)ο蟪绦蜷_發(fā)語言都提供了異常處理Exception。程序中的錯誤是多樣化的,但出現(xiàn)錯誤程序直接崩潰,但發(fā)現(xiàn)錯誤能提供一些方式對錯誤加以糾正也比程序直接崩潰要友好很多。異常機制則通過規(guī)定異??赡馨l(fā)生的區(qū)域try,以及異常捕捉catch,來處理發(fā)生異常的善后問題。對于拋擲出來異常,可能是跨越數(shù)個函數(shù)調(diào)用而被捕捉處理。捕捉是根據(jù)拋擲的對象類型與捕捉對象類型的匹配來完成。
熟悉PDMS的腳本PML開發(fā)的技術(shù)人員,對于PML中異常應(yīng)該會熟練使用。當(dāng)使用PML報錯時,會給出一個編號(由帶括號的兩個數(shù)字組成):

這就是PML中的異常。對于異常的捕捉處理采用如下寫法:

關(guān)于PML更多異常處理細節(jié)可以參考PDMS的文檔《Software Customisation Guide》。本文主要介紹PipeCAD中的異常處理。
2 Exceptions
因為PipeCAD的腳本是使用Python,所以當(dāng)一個命令沒有成功執(zhí)行或者有其他Python語句有語法錯誤時,都會拋出異常。拋出異常后,腳本剩余部分代碼將會中斷,不被執(zhí)行。并會給出錯誤原因的提示。

在PipeCAD中,對于可能拋出異常的地方加上try,異常的捕捉?jīng)]有像PML那樣給出一個編號,但是給出了異常的類型,根據(jù)異常不同的類型可以進行相應(yīng)的異常處理。如上圖是管理Admin模塊中創(chuàng)建用戶User時對于重名的異常處理:

在命令窗口會現(xiàn)錯誤信息提示,在異常處理中也可以彈出錯誤對象框。
3 Conclusion
PipeCAD有的腳本使用Python,PipeCAD中的異常處理方式就是Python中異常處理的方式。PipeCAD實現(xiàn)自定義命令函數(shù)的異常處理,提高程序的健壯性。當(dāng)有異常發(fā)生時,會給用戶以信息提示。對于有腳本開發(fā)能力的技術(shù)人員來說,通過對異常的處理,可以方便實現(xiàn)一些功能。如當(dāng)創(chuàng)建一個對象時,對象名稱已經(jīng)使用,則可以對這個名稱的對象進行一些屬性修改這個功能來說,使用異常就更直接。
致力于國產(chǎn)三維管道設(shè)計軟件的開發(fā),若您有任何意見、建議,歡迎交流。