try/catch 错误处理
try/catch error handling
我正在尝试创建一个脚本来删除 %temp%
中的所有文件。它有效,但现在我需要消除错误。以下是我所拥有的,但我仍然遇到错误。有什么想法吗?
try
{
Get-Childitem $Env:temp | Remove-Item -Recurse -Force
}
Catch
{
}
temp 中的许多文件可能正在使用或无法访问可移动文件,因为这是进程留下数据的暂存区 space。
最常见的 cmdlet 支持 -ErrorAction
,这样您就不必更改默认值,也不必担心遗漏重要错误。在您的情况下,您可以使用 ...
Get-Childitem $Env:temp | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
由于您没有生成终止错误,而这正是 Try
的目的,您可以完全删除该块。
FWIW 如果你确实需要 try/catch 确保你使用终止错误
try{
Get-ChildItem $Env:temp | Remove-Item -Recurse -Force -ErrorAction Stop
} Catch{
# Handle Stuff
Write-Host "Removal not 100% successful"
}
我正在尝试创建一个脚本来删除 %temp%
中的所有文件。它有效,但现在我需要消除错误。以下是我所拥有的,但我仍然遇到错误。有什么想法吗?
try
{
Get-Childitem $Env:temp | Remove-Item -Recurse -Force
}
Catch
{
}
temp 中的许多文件可能正在使用或无法访问可移动文件,因为这是进程留下数据的暂存区 space。
最常见的 cmdlet 支持 -ErrorAction
,这样您就不必更改默认值,也不必担心遗漏重要错误。在您的情况下,您可以使用 ...
Get-Childitem $Env:temp | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
由于您没有生成终止错误,而这正是 Try
的目的,您可以完全删除该块。
FWIW 如果你确实需要 try/catch 确保你使用终止错误
try{
Get-ChildItem $Env:temp | Remove-Item -Recurse -Force -ErrorAction Stop
} Catch{
# Handle Stuff
Write-Host "Removal not 100% successful"
}