powershell:comment attraper la cause d'erreur par invoke-sqlcmd?

Je veux attraper le invoke-sql si il ya quelque chose de mal. Mais quand je lance la commande suivante, et si le $sql n'est pas valide, il ne peut pas être attrapé. Comment attraper cette exception?

 try {
     Invoke-Sqlcmd -Query $sql -ServerInstance t1 -database db -QueryTimeout 65535 -ErrorAction 'Stop'
   } catch{
      "error when running sql $sql"
   }

OriginalL'auteur Daniel Wu | 2011-01-22