- PowerShell功能特点
- PowerShell历史
- PowerShell和命令提示符的区别
- PowerShell与Bash Shell的区别
- PowerShell以管理员身份运行
- Windows PowerShell ISE
- PowerShell核心
- 创建并运行PowerShell脚本
- PowerShell注释
- PowerShell Cmdlet
- PowerShell基本cmdlet命令
- PowerShell Get-childItem命令
- PowerShell Get-Item命令
- PowerShell Get-Location命令
- PowerShell set-item命令
- PowerShell set-location命令
- PowerShell new-item命令
- PowerShell copy-item命令
- PowerShell move-item命令
- PowerShell remove-item命令
- PowerShell rename-item命令
- PowerShell add-content命令
- PowerShell clear-content
- PowerShell get-content命令
- PowerShell get-date命令
- PowerShell set-content命令
- PowerShell out-file命令
- PowerShell write-host命令
- PowerShell get-command命令
- PowerShell invoke-command命令
- PowerShell get-help命令
- PowerShell start-process命令
- PowerShell test-path命令
- PowerShell foreach-object命令
- PowerShell sort-object命令
- PowerShell where-object命令
- PowerShell变量
- PowerShell自动变量
- PowerShell首选项变量
- PowerShell数组
- PowerShell哈希表
- PowerShell运算符
- PowerShell算术运算符
- PowerShell赋值运算符
- PowerShell比较运算符
- PowerShell逻辑运算符
- PowerShell重定向运算符
- PowerShell拆分和合并运算符
- PowerShell if语句
- PowerShell if-else语句
- PowerShell else-if语句
- PowerShell Switch语句
- PowerShell Do-While循环
- PowerShell for循环
- PowerShell ForEach循环
- PowerShell While循环
- PowerShell Continue和Break
- PowerShell字符串
- PowerShell函数
- PowerShell Try Catch Finally
PowerShell Try Catch Finally
当需要处理脚本块中的终止错误时,请在PowerShell中使用Try
,Catch
,最后使用块。
终止错误是那些使语句无法运行的错误。当PowerShell无法以某种方式处理终止错误时,它还将停止使用当前管道运行脚本或函数。在其他语言(例如C)中,这些错误称为异常。
1.Try{……..}块
Try
块是脚本的一部分,希望PowerShell监视错误。 当该块中发生错误时,首先将其存储在自动变量$Error
中。之后,PowerShell搜索Catch
块来处理它。
如果Try
块没有匹配的Catch
块,则PowerShell将在父作用域中搜索适当的Trap
或Catch
块。
Try块的语法
下面的框显示了try
块的语法:
try { Statement-1 Statement-2 Statement-N }
Try
语句必须至少具有一个catch
或一个finally
块。 在上面的语法中,Try
关键字后括号内是单个或多个语句。
2.Catch {…..}块
Catch
块是脚本中处理Try
块生成的错误的部分。可以定义Catch
块要处理的错误类型。 错误类型是Microsoft .NET Framework的例外。一个Try
块可以具有多个catch
块,用于不同类型的错误。除了`Catch块,您还可以使用Trap块来处理错误。
Catch块的语法
下面是catch
块的语法:
catch [ [<error type>] [',' <error type>] *] { Statement-1 Statement-2 Statement-N }
错误类型(<error type>
)显示在括号中。 最外面的括号表明该元素是可选的。 在以上语法中,catch
关键字后跟一个可选的错误类型说明列表和一个语句列表。 当发现任何捕获块时,将执行捕获块中的语句。
3.Finally {……}块
Finally
块是脚本的一部分,用于释放脚本不再需要的资源。
下面是finally
块的语法:
finally { Statement-1 Statement-2 Statement-N }
在finally
块之后是单个或多个语句,这些语句包含在每次执行脚本时都会执行的大括号中。
示例
示例1:以下示例仅将一个Catch
块与Try
块一起使用:
Try { Get-ChildItem } catch { "Error in a Try block." }
在此示例中,该命令在Try
块中是正确的,因此没有错误,并显示以下输出:
目录: C:\Users\hema Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2019/5/28 9:16 .anaconda d----- 2018/9/12 16:14 .android d----- 2019/9/4 18:14 .atom d----- 2018/10/31 9:01 .cargo d----- 2019/7/2 10:31 .conda d----- 2018/11/6 9:50 .dotnet d----- 2018/10/23 9:33 .eclipse d----- 2018/10/11 14:18 .IdeaIC2018.2 d----- 2018/12/8 16:49 .IdeaIC2018.3 d----- 2019/7/2 16:16 .ipynb_checkpoints d----- 2019/5/28 9:18 .ipython d----- 2019/7/2 10:23 .jupyter d----- 2019/5/29 11:23 .keras d-r--- 2019/11/23 21:12 3D Objects d----- 2018/10/5 8:25 Aptana Rubles d-r--- 2019/11/23 21:12 Contacts d-r--- 2020/2/5 19:07 Desktop d-r--- 2020/2/5 19:05 Documents d-r--- 2020/2/3 17:36 Downloads d----- 2018/10/4 10:35 eclipse-workspace d----- 2018/10/5 9:39 eclipsej22-workspace d-r--- 2019/11/23 21:12 Favorites d----- 2018/9/12 16:14 HBuilder d----- 2018/9/12 16:44 HBuilder settings d----- 2018/9/12 16:14 HBuilderProjects -a---- 2020/1/17 22:15 3314 .bash_history -a---- 2019/7/2 10:20 43 .condarc -a---- 2018/11/14 14:03 1166 .firefly.conf -a---- 2020/1/9 21:29 1918 .firefly2.conf -a---- 2019/5/24 14:12 43 .gitconfig -a---- 2019/5/30 21:14 1939 .viminfo -a---- 2019/7/2 10:36 846 Untitled.ipynb -a---- 2019/7/2 16:17 23222 Untitled1.ipynb ... ...
示例2:以下示例还仅将一个Catch
块与Try
块一起使用:
Try { Get-Child } catch { "Error in a Try block." }
在此示例中,Try
块中的命令错误,因此Try
块中存在错误。 因此从catch
块获取输出:
Error in a Try block.
上一篇:PowerShell函数
下一篇:没有了
扫描二维码
程序员编程王