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

代码如下:

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

&$Finally
                    }

throw $_
                }

$_ |
            }

&$Command
        }

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

(0)

相关推荐

  • try catch finally的执行顺序深入分析

    首先执行try,如果有异常执行catch,无论如何都会执行finally 一个函数中肯定会执行finally中的部分. 关于一个函数的执行过程是,当有return以后,函数就会把这个数据存储在某个位置,然后告诉主函数,我不执行了,接下来你执行吧,所以函数就会推出. 但是当一个函数中出现finally以后,finally永远都要执行,所以,就算try或者catch中已经执行了return了,但是这时函数不会退出,不会告诉主函数去执行,而是等待finally执行完了才回去告诉主函数去执行,这时候如果

  • 杂谈try-catch-finally异常处理

    相关阅读:再谈异常处理try catch finally 1. 前言 最近这段时间正开发一个店铺管理系统,这个项目定位于给中小型店铺使用的软件系统.简单的说,它处理商品的进货,销售,退货等功能.软件虽小,五脏俱全,里面涉及的技术跟大型应用软件其实差别也不大,其中有加密.数据访问.异常处理.日志.验证.ORM.依赖注入等. 本篇文章主要介绍C#语言的异常处理方面的内容,其中包含的主要内容: •什么是异常?异常的特点? •异常处理的基础知识. •引发和捕捉异常的处理准则. •避免与异常相关的性能问题

  • 再谈异常处理try catch finally

    1. 查找系统中坏味道的异常处理代码 在上篇文章杂谈异常处理try-catch-finally中主要详细介绍了C#异常处理的概念,异常设计准则,基础知识等方面的内容,但对如何正确使用异常处理印象还不是特别深刻吧.在这篇中,我通过查找以前系统代码中存在坏味道的异常处理代码来分析和讲解如何正确使用异常处理. 1.1. 例一 /// <summary> /// 保存记录 /// </summary> /// <param name="entity">实体&

  • 理解javascript中try...catch...finally

    本文为大家分析了javascript中try...catch...finally的使用方法,分享给大家供大家参考,具体内容如下 稍微复杂一点点,就要用到判断语句,if else进行条件判断,话说if条件else否则,这样的判断对于写程序代码的码侬已经是非常熟悉不过了. 如果你觉得这个也很简单,可能会用到混合if else条件判断语句加上try catch 来处理语句,虽然用try catch能处理任何的对象,通过throw扔一条有错误的语句,接着catch抛出该对象或者该对象的错误,今天我们只说

  • C#中的try catch finally用法分析

    本文实例讲述了C#中的try catch finally用法.分享给大家供大家参考.具体分析如下: try中的程序块是有可能发生错误的程序块,catch中的程序块是当发生错误的时候才会执行的代码块,finally中的程序块是无论是否发生错误都会执行的代码块. 示例程序: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace Sampl

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

    复制代码 代码如下: function Try    {        param        (            [ScriptBlock]$Command = $(throw "The parameter -Command is required."),            [ScriptBlock]$Catch   = { throw $_ },            [ScriptBlock]$Finally = {}        ) &$Finally  

  • PowerShell 数组的多种录入方法

    这个需求是小骆驼发起的.感谢 微软云方案交流 236804566 这个高端群的用户贡献. 我们首先看看一个标准的数组是怎么录入的 PS D:\> $arr= "adf","asdfer","sredsaf" PS D:\> $arr adf asdfer sredsaf 这里需要注意的是,双引号和逗号的分隔.不得不说,这是最简单的录入方式,但输入方式不太友好,需要用户自己去改PowerShell脚本 为了便于用户交互,我写了下面的一个

  • PowerShell获取字符串长度的方法

    使用PowerShell可以很方便的计算字符串的长度.PowerShell是继承于Microsoft .NET Framework的,所以在.NET里面怎么获取到字符串的长度,在PowerShell中可以使用相同的方法. 我们知道在.NET中,可以使用String.Length方法来获取字符串的长度,让我们看看PowerShell中怎么样依葫芦画瓢. 复制代码 代码如下: $string = "1234567"; Write-Host $string.Length; #输出为7 如果你

  • 浅谈PHP中try{}catch{}的使用方法

    PHP中try{}catch{}的作用是用来处理异常.可以为我们收集并显示出错误信息.希望通过这篇文章的介绍,大家能掌握这一语句的应用. 在PHP语言中有许多语法需要我们去不断的熟悉,然后才能灵活的运用,编写我们需要的代码程序.在这篇文章中我们将为大家介绍PHP中try{}catch{}的用法. <?php try { //... } catch(Exception $e) { //... } ?> PHP中try{}catch{}是异常处理. 将要执行的代码放入TRY块中,如果这些代码执行过

  • Powershell 查询 Windows 日志的方法

    论坛里面有人询问如何使用powershell脚本查询文件修改的审计日志,豆子服务器没开这个功能,不过尝试写了个类似的脚本可以查询日志,并输出对应的xml内容. 基本方法是get-winevent, 可以指定对应的eventid,获取列表.如果想获取这个事件具体的内容,需要根据不同事件的xml内容进行变化. 比如 $Events = Get-WinEvent -ComputerName syddc01 -FilterHashtable @{Logname='Security';Id=4771} -

  • PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法

    单独使用一种脚本来完成一项任务是理想的状态,而现实的情况往往是,因为历史原因.或者团队组成,你不得不将多种脚本或者程序组合在一起,来完成某项任务.本文的讨论范围是Cmd命令与PowerShell命令之间的组合与调用. 毋庸置疑,Cmd命令与PowerShell命令之间的调用有两个方向.即在Cmd命令中调用PowerShell的命令,以及在PowerShell脚本中调用Cmd命令.需要说明的是,这里的调用分两个层次:一.简单的在其中一个的环境中执行另外一个命令,完成部分工作:二.在其中一个的执行上

  • PowerShell中判断闰年的方法

    使用PowerShell可以很方便的判断一个年限是不是闰年,只要一句话搞定,IsLeapYear函数,真是革命啊! 小编以前在学其它语言的时候,给定一个年限,判断它是闰年或平年,需要写大段大段的代码去实现.C#出来之后,这个问题解决了,DateTime类型下面有一个静态方法:IsLeapYear(int year).使用这个方法可以直接返回True或False.True即表示闰年,False表示平年. 且看演示代码: 复制代码 代码如下: PS C:\Users\zhanghong> [date

  • Java中try、catch的使用方法

    Java中有两种处理异常的方式,分别是用throws抛出异常.用try.catch捕获异常. try-catch 在Java try-catch语句的语法格式: try{ //代码块 }catch(Exception1 e){ //抛出异常后所要进行的操作 } 当try语句当中捕获到异常时,会将异常抛出到catch语句中匹配异常类型,当异常和catch后面的异常类型相匹配时,则catch语句将会执行. 举个最基础的例子,除数不能为0 try中的异常与catch后面的异常类型匹配的情况: try{

  • PowerShell中计算时间差的方法

    PowerShell中有一个New-TimeSpan的cmdlet,使用它可以很方便的计算两个时间之间的差值.差值还可以提取出年.月.日.时.分.秒. 以前,小编想要知道当时时间到十一放假还有多少天时,小编一般会写一个VBScript脚本来简单计算一下.这个VBScript脚本很简单,只有一句话: 复制代码 代码如下: MsgBox DateDiff("d", Now(), "2013-10-1") 新建一个纯文本文件,把这句话放进去.然后再把这个文件的文件名改为x

  • Powershell实现加密解密文本文件方法实例

    适用于Powershell3.0及以后版本. 假设你需要给文件加密,下面教你如何给自己的文件加密: $Path = "$env:temp\secret.txt" $Secret = 'Hello World!' $Passphrase = 'Some secret key' $key = [Byte[]]($Passphrase.PadRight(24).Substring(0,24).ToCharArray()) $Secret | ConvertTo-SecureString -A

随机推荐