terça-feira, 27 de janeiro de 2015

Como usar Try Catch Finally no PowerShell



Vou mostrar neste post como utilizar o bloco Try Catch Finally no PowerShell.



A sintaxe se assemelha a outras linguagens de programação:

try
{
    #trecho de código a ser executado
}
catch
{
    #trecho executado se ocorrida exceção no bloco acima
}
finally
{
    #trecho executado ao final
}

Abaixo temos um exemplo onde tentamos recuperar um objeto SPSite através do Get-SPSite dentro de Try, caso ocorra uma exceção na execução, por exemplo se a URL do site estiver incorreta, é feita uma tratativa na exceção gerada dentro do Catch.

Por último é executado o trecho dentro do Finally realizando o Dispose do objeto.


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

cls

$siteUrl = "http://<<site url>>"
try
{
    Write-Host "Recuperando site collection." -ForegroundColor Green
    $site = Get-SPSite -Identity $siteUrl
}
catch
{
    if($_.Exception.Message.Contains("Cannot find an SPSite object with Id or Url"))
    {
        Write-Host ("Não foi encontrado um site collection com a seguinte url: " + $siteUrl) -ForegroundColor Red
    }
}
finally
{
    $site.Dispose()
    Write-Host "Execução do script finalizada." -ForegroundColor Green
}


Qualquer dúvida ou sugestão envie nos comentários.


Abraço !

Nenhum comentário:

Postar um comentário