PowerShell Try Catch Finally

您所在的位置:网站首页 try语句块后必须至少存在一个catch语句块 PowerShell Try Catch Finally

PowerShell Try Catch Finally

#PowerShell Try Catch Finally | 来源: 网络整理| 查看: 265

当需要处理脚本块中的终止错误时,请在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 [ [] [',' ] *] { Statement-1 Statement-2 Statement-N }

错误类型()显示在括号中。 最外面的括号表明该元素是可选的。 在以上语法中,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函数 下一篇:哥,这回真没有了 加QQ群啦,易百教程官方技术学习群 注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3