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

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

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

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

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