#\Utilisateurs\usager\PowerShell # # Recupération de l'exception de diviseur nul (essai B) # # Incrémentation d'une variable de -3 à +3 par pas de 1, qui sert de diviseur # récupération de l'erreur par l'instruction trap appliquée au cas général. # Param ( [parameter(Mandatory=$False)] [string] $Repertoire # Chemin à parcourir par la commande Get-ChildItem ) [int64] $Nbre_Octe_00 = 0 # Nombre d'octets [int] $Nbre_Rejt_00 = 0 # Nombre de rejets (exceptions) [int64] $Taille = 0 # Taille en octets ) [string] $Suffixe = '.ext' # Extension significative du nom de fichier [string] $Exception_param = 'Paramètres de l exception' # Paramètres de l'exception fournis au moment du trap [string] $Dossier = $Repertoire $Error.Clear() # Purger la table des exceptions # choisie pour l'ensemble des cas. Write-Host ' ' Write-Host 'Début traitement' <# If ( -NOT(Test-Path $Dossier) ) { [string]$Mess_Err = '"' + $Repertoire + '" n''est pas un objet connu du système de fichiers.'; [string]$Arg_Errid = 'Répertoire inconnu'; Write-Error -Message $Mess_Err -Category InvalidData -ErrorID $Arg_Errid; $Nbre_Rejt_00++ exit } #> # # Boucle avec une variable, diviseur, qui croît de -2 à +2 en passant par zéro # Write-Host ' ' For ( $Wi = -3 ; $Wi -le 3 ; $Wi++ ) { # # Trap général dans l'étendue de boucle de la fonction # Trap { $Exception_param = $Error[0].Exception.GetType().FullName Write-Host " Exception (trap général) détectée dans l'étendue de boucle!" Write-Host ' Exception (trap général) trouvée en boucle (FullName) : "' , $Exception_param , '"' -foregroundcolor Blue -separator '' Write-Host ' Exception (trap général) trouvée en boucle (Nom Erreur) : "' , $Error[0] , '"' -foregroundcolor Blue -separator '' $Nbre_Rejt_00++ continue } $Quotient = $Dividende / $Wi Write-Host 'Dividende: "' , $Dividende , '" - Diviseur: "' , $Wi , '" - Quotient: "' , $Quotient , '"' -separator '' } Write-Host ' ' Write-Host ' Fin traitement' exit