-2
我正在寫一個加載器程序來解密源文件並運行它們。每個源文件都包含一個基於的程序,其中包含用戶可用於退出用戶界面的子例程。我需要在用戶退出後運行一些清理工作,但不知道如何捕獲這些調用exit
或die
,以便所需文件之後的清理代碼可以執行,有什麼想法?Perl更好的方式退出所需的文件
我正在寫一個加載器程序來解密源文件並運行它們。每個源文件都包含一個基於的程序,其中包含用戶可用於退出用戶界面的子例程。我需要在用戶退出後運行一些清理工作,但不知道如何捕獲這些調用exit
或die
,以便所需文件之後的清理代碼可以執行,有什麼想法?Perl更好的方式退出所需的文件
您可以通過包裝的代碼在eval
塊,如趕上die
電話:
eval {
require Module::that_dies;
};
if ([email protected]) {
# handle the exception here
}
這不會幫助exit
雖然。我相信你可以運行代碼exit
在END{}
塊中運行清理,但是請注意,這將在任何退出後運行,而不僅僅是如果您需要的模塊退出。
END {
# code that runs after exit
}
require Module::that_exits;
瞭解更多關於END塊perldoc perlmod
哇,謝謝,我一些如何完全掩蓋了的perldoc的部分'exit'是關於'END會談{}'塊!在這裏推出這個東西會很棒,因爲我可以測試一下,看看數據庫存在的目錄是否存在,如果不是,則不需要使用它!再次感謝 – rolands
問題需要重新編輯之前需要進行編輯。 –