我是靠谱客的博主 平常小丸子,这篇文章主要介绍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 实现方法的全部内容,更多相关PowerShell:内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(219)

评论列表共有 0 条评论

立即
投稿
返回
顶部