欢迎来到代码驿站!

当前位置:首页 >

PowerShell: Try...Catch...Finally 实现方法

时间:2021-05-16 09:37:02|栏目:|点击:

复制代码 代码如下:

function Try
    {
        param
        (
            [ScriptBlock]$Command = $(throw "The parameter -Command is required."),
            [ScriptBlock]$Catch   = { throw $_ },
            [ScriptBlock]$Finally = {}
        )

        & {
            $local:ErrorActionPreference = "SilentlyContinue"

            trap
            {
                trap
                {
                    & {
                        trap { throw $_ }
                        &$Finally
                    }

                    throw $_
                }

                $_ | & { &$Catch }
            }

            &$Command
        }

        & {
            trap { throw $_ }
            &$Finally
        }
    }

使用示例:

复制代码 代码如下:

# Example usage

    Try {
        echo " ::Do some work..."
        echo " ::Try divide by zero: $(0/0)"
    } -Catch {
        echo "  ::Cannot handle the error (will rethrow): $_"
        #throw $_
    } -Finally {
        echo " ::Cleanup resources..."
    }

上一篇:Docker如何制作自己镜像并上传dockerhub

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

本文标题:PowerShell: Try...Catch...Finally 实现方法

本文地址:http://www.codeinn.net/misctech/122284.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有