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


    PowerShell 本身有很多很好的错误控制,但是习惯于.net编程的人员,更喜欢用Try Catch Finally方法,尤其当有一段代码必须被执行到的时候。现在好了,adweigert 想出了一个好方法来实现。这个函数已经在多种情况下测试过,希望能对你有帮助。

     1     function Try
     2     {
     3         param
     4         (
     5             [ScriptBlock]$Command = $(throw "The parameter -Command is required."),
     6             [ScriptBlock]$Catch   = { throw $_ },
     7             [ScriptBlock]$Finally = {}
     8         )
     9        
    10         & {
    11             $local:ErrorActionPreference = "SilentlyContinue"
    12            
    13             trap
    14             {
    15                 trap
    16                 {
    17                     & {
    18                         trap { throw $_ }
    19                         &$Finally
    20                     }
    21                    
    22                     throw $_
    23                 }
    24                
    25                 $_ | & { &$Catch }
    26             }
    27            
    28             &$Command
    29         }
    30 
    31         & {
    32             trap { throw $_ }
    33             &$Finally
    34         }
    35     }

    使用示例:

        # 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..."
        }
  • 相关阅读:
    Django---Blog系统开发之注册页面(验证码&ajax发送文件)
    Django---Blog系统开发之建库
    Eclipse下导入外部jar包的3种方式
    linux 下 .sh 文件语法
    热备,冷备,云备的区别
    plsql 中如何清除曾经登录过的用户名
    Mac 查看python安装路径
    mac terminal终端怎么退出python命令行
    PyCharm 2017 Mac 免注册版破解安装说明
    PL/SQL恢复默认窗口样式
  • 原文地址:https://www.cnblogs.com/digjim/p/2558458.html
Copyright © 2020-2023  润新知