作為一門如此牛x閃閃的指令碼語言,對異常的處理肯定有良好的支援。那麼先看看下面的
write-host "1"
trycatch
write-host "4"
很標準的異常處理程式,如果d盤的f****f.txt不存在,會丟擲異常
但是執行上面的內容,乙個很是亮瞎你眼睛的結果出現了
1
get-content : 找不到路徑「d:\f****f.txt」,因為該路徑不存在。
所在位置 e:\workspace\workspaces\poweshell\wwx.ps1:27 字元: 10
+ $s = get-content d:\f****f.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ categoryinfo : objectnotfound: (d:\f****f.txt:string) [get-content], itemnotfoundexception
+ fullyqualifiederrorid : pathnotfound,microsoft.powershell.commands.getcontentcommand
24
按照預期,應該是列印出1和3, 也是異常沒有捕捉到,直接硬拋了出來。
好吧,我和你一樣感覺到很詭異。經過再次檢視資料,發現了-erroraction的選項
是的,沒錯,要在$s = get-content d:\f****f.txt後面加上-erroraction選項
write-host "1"
trycatch
write-host "4"
再次執行,終於,程式執行的結果符合了預期
輸出了牛x閃閃的
1
faileditem:找不到路徑「d:\f****f.txt」,因為該路徑不存在。.exception.itemname
3
python基礎(四) 異常處理
python 有兩種錯誤很容易辨認 語法錯誤和異常。python 的語法錯誤或者稱之為解析錯 即便python程式的語法是正確的,在執行它的時候,也有可能發生錯誤。執行期檢測到的錯誤被稱為異常。python採用try.except.finally.的錯誤處理機制,當我們認為某些 可能會出錯時,就可以...
PowerShell處理RSS資訊
環境 windows server 2012 en 解決powershell控制台中文亂碼問題 方法 通過powershell處理rss資訊,直接通過invoke webrequest命令獲取到的內容中文亂碼,原因是沒有指定encoding模式,而invoke webrequest命令目前並不支援指...
Powershell錯誤處理
powershell what if 試執行 模擬操作 通過 whatif 引數。事實上,許多cmdltes都支援試執行 如果執行stop process name a 會終止下面的程序。stop process name a whatif 想讓自己的指令碼和函式也支援模擬執行,只需要進行簡單的整合...