PowerShell 四 異常處理

2021-06-28 01:15:01 字數 1026 閱讀 7892

作為一門如此牛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 想讓自己的指令碼和函式也支援模擬執行,只需要進行簡單的整合...