Powershell Invoke-WebRequest 是否在下载失败时抛出错误?

Does Powershell Invoke-WebRequest throws error on download failure?

我想知道 Powershell Invoke-WebRequest 是否会在下载请求时抛出客户端错误,例如磁盘已满?

例如:

 # Download recording
        try {
            $ProgressPreference = 'SilentlyContinue'
            $r = Invoke-WebRequest -Uri $jwtURL -OutFile $outfile
            $a = [int]$r.StatusCode
        }
        catch {
            $a = [int]$_.Exception.Response.StatusCode
        }

上面的代码是只获取http状态码,还是在本地文件系统上也会写入错误?

从评论移到这里,因为评论太长了

记住有错误类型。终止和非终止。并非每个错误都会终止,因此您也必须强制执行。

查看这篇文章:Powershell Try Catch Tutorial & Guide

所以,像这个例子:

$url = 'https://whosebug.com'
$req = [system.Net.WebRequest]::Create($url)

try {$res = $req.GetResponse()} 
catch [System.Net.WebException] 
{$res = $_.Exception.Response}
$res.StatusCode