PowerShell Try Catch Finally2024 年 8 月 29 日 | 阅读 3 分钟 当您需要在脚本块中处理终止错误时,请在PowerShell中使用 Try, Catch, 和 finally 块。 终止错误是指那些阻止语句运行的错误。当PowerShell没有以某种方式处理终止错误时,它也会停止运行使用当前管道的脚本或函数。在其他语言(如C)中,这些错误被称为异常。 Try {........}Try块 是脚本中您希望PowerShell监视错误的区域。当此块中发生错误时,它首先存储在自动变量 $Error 中。之后,PowerShell搜索 Catch 块来处理它。 如果 Try 块没有匹配的 Catch 块,则PowerShell会在父作用域中搜索合适的 Trap 或 Catch 块。 Try块的语法 以下框显示了try块的语法 Try语句必须至少有一个catch或一个finally块。在上面的语法中,Try关键字后跟花括号中的单个或多个语句。 Catch {.....}Catch 块 是脚本中处理由Try块生成的错误的部分。 我们可以定义要由Catch块处理的错误类型。 错误类型是 Microsoft .NET 框架的异常。 一个 Try 块可以有多个catch块来处理不同类型的错误。 除了 Catch 块,您还可以使用 Trap 块来处理错误。 Catch块的语法 以下框显示了catch块的语法 错误类型出现在括号中。 最外面的括号表示该元素是可选的。 在上面的语法中,catch 关键字后跟可选的错误类型规范列表和语句列表。 当找到任何一个catch块时,将执行catch块中的语句。 Finally {......}‘finally’ 块是脚本的一部分,用于释放脚本不再需要的资源。 以下框显示了Finally块的语法 ‘finally’ 块后跟包含在花括号中的单个或多个语句,这些语句在每次执行脚本时都会执行。 示例示例1: 以下示例仅将一个 Catch 块与 Try 块一起使用 在此示例中,Try块中的命令是正确的,因此没有错误,并显示以下输出 Directory: C:\ Mode LastWrite Time Length Name ---- ------------- ------ ---- d----- 23-02-2019 13:14 found.000 d----- 28-12-2017 19:44 Intel d----- 15-09-2018 13:03 PerfLogs d----- 09-10-2019 11:20 powershell d-r--- 15-11-2019 12:01 Program Files d-r--- 15-11-2019 12:23 Program Files (x86) d----- 22-08-2019 15:20 Temp d----- 13-07-2019 09:55 TURBOC3 d-r--- 29-09-2019 16:20 Users d----- 15-11-2019 18:06 Windows d----- 29-01-2019 18:26 xampp d----- 05-05-2019 12:53 xampplite -a---- 20-11-2019 04:26 4684056 aow_drv.log 示例2: 以下示例还仅将一个 Catch 块与 Try 块一起使用 在此示例中,Try块中的命令是错误的,因此Try块中存在错误。 因此,我们从catch块获得输出 Error in a Try block. 下一主题PowerShell执行策略 |
我们请求您订阅我们的新闻通讯以获取最新更新。