Je ne connais pas PowerShell et je suis en train de résoudre un problème lié à l'un de nos cmdlets personnalisées. Par défaut, toutes les exceptions lancées dans la cmdlet ont des informations minimales, aucune trace de pile et aucune information sur les exceptions chaînées. Y a-t-il un moyen d'activer la sortie verbeuse des exceptions?Sortie verbeuse Powershell pour les exceptions chaînées
Répondre
est ici une fonction propre que je l'ai volé de quelqu'un sur le « :) net. Je l'ai dans mon profil et je l'étalerai avec plaisir:
#Get detailed information on an error
function Resolve-Error ($ErrorRecord=$Error[0])
{
$ErrorRecord | Format-List * -Force
$ErrorRecord.InvocationInfo |Format-List *
$Exception = $ErrorRecord.Exception
for ($i = 0; $Exception; $i++, ($Exception = $Exception.InnerException))
{ "$i" * 80
$Exception |Format-List * -Force
}
}
La collection $ error contient une liste en direct de toutes les exceptions non gérées levées dans la session en cours. La dernière exception est à $ error [0]. Une bonne technique pour faire quelque chose comme ceci pour capturer l'erreur dès que possible:
Explorez $ e avec get-member.
Je l'ai utilisé cette technique pour obtenir des objets d'erreur imbriqués:
$error[0]|format-list -force
Quelque chose d'autre à comprendre, les enregistrements d'erreur ont une mise en forme par défaut du message rouge que vous voyez lorsque l'erreur se produit. Vous devez le transformer en quelque chose d'autre pour tout voir. – JasonMArcher
- 1. Cycles dans les exceptions chaînées
- 2. Comment utiliser les exceptions chaînées
- 3. Quand enregistrer les exceptions chaînées?
- 4. Sortie trop verbeuse pour Teamcity MSBuild Runner
- 5. Sortie supplémentaire verbeuse de mdtool?
- 6. sortie verbeuse de script shell
- 7. compilateur C# sortie verbeuse avec CodeDomProvider
- 8. Quelle est la bonne pratique pour générer une sortie verbeuse?
- 9. Obtenir des messages détaillés des exceptions chaînées Java
- 10. Sortie Powershell
- 11. Comment obtenir une sortie plus verbeuse à partir de Scons
- 12. Activer la sortie verbeuse de AntBuilder de groovy
- 13. Implémentation des listes chaînées chaînées
- 14. Besoin d'aide pour imprimer les listes chaînées
- 15. redirigeant la sortie verbeuse de YUI Compressor dans un fichier
- 16. Powershell: Sortie Redirection Problème
- 17. Filtre de sortie Powershell
- 18. Sortie LogParser et Powershell
- 19. Filtrage Sortie Powershell
- 20. Aucune sortie Powershell Script
- 21. Comparateur dans les listes chaînées
- 22. gestion des exceptions pour les exceptions servicemodel
- 23. Gestion des exceptions dans Powershell 1.0
- 24. Comment fonctionnent les listes chaînées?
- 25. Exemple de pile d'exceptions chaînées
- 26. NHibernate comparer les propriétés chaînées
- 27. after_filter pour les exceptions
- 28. PowerShell: lire les journaux de PowerShell Transcript
- 29. Powershell largeur colonne de sortie
- 30. sortie Powershell ne fonctionne pas
Merci, a trouvé le blog original ici: http://blogs.msdn.com/b/powershell/archive/2006/12/07/resolve-error.aspx. Savez-vous ce que fait la ligne "$ i" * 80'? Et aussi je reçois une exception quand j'appelle cette fonction: 'Corps de fonction manquant dans la déclaration de fonction' – kateroh
Merci d'avoir trouvé l'original pour moi. '" $ i "* 80' semble simplement être un formatage, pour séparer les exceptions. Mais le «corps de fonction manquant» est un peu étrange; C'est l'erreur la plus récente si bien que la fonction fait ce qu'elle devrait faire. –
J'ai supprimé le paramètre de fonction '$ ErrorRecord = $ Error [0]' et remplacé '$ ErrorRecord' par' $ Error [0] 'dans le corps de la fonction et tout a bien fonctionné. – kateroh