Bonjour,
J'aurai besoin de votre aide concernant la gestion des erreurs. Je galère sur ce problème depuis un bon moment...j'avais utilisé la technique du throw qui fonctionne mais n'est pas apprécié par mon responsable j'ai donc dû chercher une autre méthode.
Voilà mon code (un code test et non le vrai) :
hello.ps1
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 $path = "TEST\script.ps1" $var1 = 1 $var2 = 2 if($var1 -ne $var2) { $ErrorActionPreference = 'Stop' try { ## Do stuff here &$path -v "TEST\file.txt" ## Return an error Write-Error -Message 'Erreur' Write-Host "c bon" } catch { Write-Host $_.Exception.Message -ForegroundColor Green } } else { Write-Host "non valide" }
script.ps1
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Param( [String]$v ) if(test-path $v) { Write-Host "hello" }
Le contexte est que via ce code qui se trouve dans un fichier hello.ps1 j'exécute un autre script "script.ps1".
Le problème est que même si le test dans "script.ps1" se fait bien, car il trouve le fichier, une fois revenu dans "hello.ps1" la console m'affiche le 'Erreur' mais pas le "c bon"... Et s'il ne trouve pas le fichier il m'affiche toujours le 'Erreur' ce qui est normal me direz vous.
Merci d'avance et bonne journée !
Partager