91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Powershell 如何獲取異常的名稱

發布時間:2020-07-15 06:32:03 來源:網絡 閱讀:1096 作者:beanxyz 欄目:開發技術

Powershell里面一般處理異常分為中斷類型和不可中斷類型。前者一般是通過try..catch..finally處理,后者一般通過ErrorAction, ErrorVariable處理。


通過try..catch處理的時候有一個問題就是catch后面跟的異常,他的名字到底怎么獲取的?


比如說我執行,他會報錯,因為 nnnnn這個命令不存在。

PS C:\> a=nnnnn
a=nnnnn : The term 'a=nnnnn' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ a=nnnnn
+ ~~~~~~~
    + CategoryInfo          : ObjectNotFound: (a=nnnnn:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


如果我想使用try ..catch捕獲這個異常,如何知道這個異常的具體名字是什么?

可以通過$error這個變量來獲取,最新的報錯就是 $error[0], 通過他可以知道具體的Exception是什么,這樣就可以有的放矢了。

PS C:\> $Error[0] | fl * -f
PSMessageDetails      : 
Exception             : System.Management.Automation.CommandNotFoundException: The term 'a=nnnnn' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a 
                        path was included, verify that the path is correct and try again.
                           at System.Management.Automation.CommandDiscovery.LookupCommandInfo(String commandName, CommandTypes commandTypes, SearchResolutionOptions searchResolutionOptions, CommandOrigin commandOrigin, 
                        ExecutionContext context)
                           at System.Management.Automation.CommandDiscovery.LookupCommandProcessor(String commandName, CommandOrigin commandOrigin, Nullable`1 useLocalScope)
                           at System.Management.Automation.ExecutionContext.CreateCommand(String command, Boolean dotSource)
                           at System.Management.Automation.PipelineOps.AddCommand(PipelineProcessor pipe, CommandParameterInternal[] commandElements, CommandBaseAst commandBaseAst, CommandRedirection[] redirections, 
                        ExecutionContext context)
                           at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] 
                        commandRedirections, FunctionContext funcContext)
                           at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame)
                           at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
TargetObject          : a=nnnnn
CategoryInfo          : ObjectNotFound: (a=nnnnn:String) [], CommandNotFoundException
FullyQualifiedErrorId : CommandNotFoundException
ErrorDetails          : 
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {}



比如這樣就行了


PS C:\> 
try{
a=nnnnn
}catch [System.Management.Automation.CommandNotFoundException]{
"error1"
}
error1


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

榆社县| 蓝山县| 宣威市| 旬阳县| 达拉特旗| 铜山县| 黔西县| 丁青县| 中卫市| 正安县| 高平市| 股票| 甘肃省| 舟曲县| 若尔盖县| 奉新县| 宜兰县| 三台县| 筠连县| 银川市| 原平市| 平定县| 泗阳县| 象山县| 芦溪县| 梧州市| 阳春市| 克山县| 彭阳县| 阳高县| 诸暨市| 基隆市| 阿拉善盟| 鞍山市| 罗源县| 右玉县| 湘潭县| 县级市| 松原市| 丽江市| 吉林省|