erroraction 只能遮蔽非終止性錯誤,可用引數值如下:(有關詳細資訊,鍵入「get-help about_commonparameters」)。
引數值:
stop: 顯示錯誤訊息並停止執行。
inquire: 顯示錯誤訊息,並詢問您是否要繼續。
continue: 顯示錯誤訊息並繼續執行。
silentlycontinue: 無效果。不顯示錯誤訊息,執行繼續而無中斷。(預設)
$erroractionpreference 和 erroraction 通用引數都不會影響 windows
示例:
gwmi win32_operatingsystem -computername 192.168.9.2 -credential $cred#如果連線不到計算機則會報錯
gwmi win32_operatingsystem -computername 192.168.9.2 -credential $cred -erroraction silentlycontinue #
如果連線不到計算機則不會出現報錯資訊
$process = get-process
"asdfasd
" -erroraction silentlycontinue
#使用 $? 判斷是否正確
#遮蔽終止性錯誤:try{} catch {}如下**為 零除 錯誤,直接執行將會返回錯誤:從這裡開始隱藏所有的錯誤資訊
$erroractionpreference="
silentlycontinue
"stop-process -name "
abc"
#恢復$erroractionpreference,錯誤開始輸出
$erroractionpreference="
continue
"
write-host "捕獲終止錯誤並輸出:script begin
"[int]
"not a number
"$denominator = 0
$result = 50 / $denominator
write-host "
script end
"使用try{} catch {}則會遮蔽其錯誤,沒有輸出:
trycatch
{}
try檢測到語法錯誤,會終止**的執行,其錯誤會**獲,但是 write-host "adf"並不會被繼續執行。catch
結果:
捕獲並輸出非終止錯誤
有時候會需要捕獲非終止錯誤,比如 remove-item d:\adfasdf.txt 刪除乙個不存在的檔案:
try結果其錯誤並未**獲,因為其是乙個非終止錯誤,錯誤級別較低:catch
可以將其改為終止錯誤,如下:
try結果變成了終止錯誤,並**獲:catch
可以使用如下方法捕獲並輸出非終止錯誤:
remove-item d:\adfasdf.txt 2>d:\za.txt 或者
remove-item d:\adfasdf.txt 2>>d:\za.txt (追加到文字)
自定義錯誤,使用 trap:
trap結果:remove-item "
books
" -ea stop

還有一些錯誤是 erroraction和try{} catch {}都無法遮蔽的,如下:
net use \\192.168.9.2 2299 /user:administrator ,如果連線不到目標計算機,則會出現錯誤 「發生系統錯誤 53.找不到網路路徑」。
可以使用 「>nul 2>nul」 遮蔽其錯誤資訊,然後依然可以繼續使用 $lastexitcode 或者 %errorlevel% 得到返回值
cmd /c " net use \\192.168.9.2 2genedna9 /user:administrator>nul 2>nul"
解釋:>nul 或者 1>nul 作用是遮蔽成功執行命令的輸出內容
2>nul 作用是遮蔽命令執行失敗的輸出內容
1>nul 2>nul 作用是遮蔽的所有輸出提示 [不論正確與否]
ResponseBody輸出錯誤
錯誤日誌 getoutputstream has already been called for this response 使用了註解 responsebody進行資料輸出 結果就報錯.可能原因 model中存在一對多 和 多對一的關聯關係 在輸出時候產生錯誤 解決方法 在model的配置中新增如...
linux標準輸入輸出錯誤輸出
linux shell 環境中支援輸入輸出重定向,用符號 和 來表示。0 1和2分別表示標準輸入 標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出,比如 2 a.txt 表示將錯誤資訊輸出到檔案a.txt中。同時,還可以在這三個標準輸入輸出之間實現重定向,比如將錯誤資訊重定向到標準...
python打字輸出錯誤 為什麼我打字出錯?
我用這個程式的目標是記錄4條資訊 員工編號 員工姓名 班次號和小時工資率 然後顯示它們。我需要在這個程式中使用類。在 這是班級 class employee object def init self,name,number self.name name self.number number def ...