2017-02-24 6 views
0

Pour des raisons que je ne vais pas entrer ici, je suis obligé d'utiliser PowerShell pour appeler, puis remplir une application distincte. Et pour l'intégrer dans un fichier batch, donc powershell -command "& {}", ce qui est déjà douloureux. J'ai un appel de boucle en boucle, je vérifie que l'ID du processus est affiché, puis j'attends et je rappelle à nouveau s'il n'est pas encore arrivé. Le problème ici est qu'ensuite j'utilise un membre statique de visualbasic pour passer le focus à cette application. A savoir, [microsoft.visualbasic.interaction] :: AppActivate ($ hwnd) - où $ hwnd est l'ID du processus de l'application en question. Je déteste mettre quelque chose comme une minuterie artificielle là-bas pour attendre que l'application pour terminer le chargement, et j'aimerais juste mettre un minuteur de temps là-bas. Mais les appels de membres statiques ne semblent pas supporter -erroraction ou -errorvariable - et le try {} catch {} semble simplement ignorer l'erreur, car j'espérais l'utiliser pour déclencher un drapeau pour déclencher la boucle while pour faire un cycle encore après un sommeil d'une seconde.Erreur Powershell attraper avec membre statique

Quels sont les autres moyens pour détecter les erreurs d'un opérateur membre statique ::

+1

Les membres statiques gèrent les erreurs différemment des cmdlets, mais ils doivent toujours déclencher un try/catch indépendamment de '$ ErrorActionPreference'. Quelle erreur est lancée qui n'est pas piégée? –

+0

Ignorer. Le Try {} catch {} fonctionne très bien si je ne remplace pas le crochet final par une parenthèse fermante. Juste moi d'être stupide et de ne pas regarder ma finale. – MisterBook

+0

Ahah nous avons tous été là, content que vous l'ayez trié =) –

Répondre

0

Mépris. Le Try {} catch {} fonctionne très bien si je ne remplace pas le crochet final par une parenthèse fermante.