华域联盟 PowerShell PowerShell: Try...Catch...Finally 实现方法

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

复制代码 代码如下:

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..."
    }

您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » PowerShell: Try...Catch...Finally 实现方法

转载请保留出处和原文链接:https://www.cnhackhy.com/14082.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部