PowerShell默认的顺序执行命令,即使中间某一句命令出错,也会继续向下执行。

但是,我们的业务有时并非如此,我们希望出现异常情况后进行捕获异常,进行记录日志等操作。

和其他编程语言一样,我们可以使用try catch代码块。

???

这好像没区别啊,是的。默认的每个命令都会有一些通用参数。

有个参数是:ErrorAction,就是指定命令在出现错误后的行为,我们可以看到参数值可以使继续、忽略、停止等。

该参数默认值是Continue,也就是发生错误后继续。

我们把参数值修改为Stop,就可以Catch到了

那要是项目中所有的命令都需要有相同的操作,每个命令设置还是有些麻烦,我们可以通过一个全局变量进行设置---ErrorActionPreference。

这样就不必在每个命令中指定了。

如果我们想在Catch块中获取具体的异常信息,可以使用$_变量获取,$_是自动变量,相当于this。在不同的场景下,指向不同的对象。

最新文章

  1. git 开发merge rebase 记录
  2. github之git基本命令介绍的简单整理
  3. Session Storage、Cache Storage
  4. 使用NodeJS将XML解析成JSON及性能比较
  5. Combiner
  6. C++ 输入输出文件流(ifstream&ofstream)
  7. 转载的在DOS下操作mysql
  8. (转)asp.net(C#)手记之Repeater与两级菜单
  9. php的函数参数按照从左到右来赋值
  10. Unity协程的坑
  11. javascript中获取字符串或数组中元素的索引
  12. Uva 11178 Morley定理
  13. Structured Exception Handling
  14. Python源码文件中带有中文时,输出乱码
  15. iOS使用TFHpple解析html
  16. EntityFramework 基本模式和Code-First的简单使用
  17. Windows下python 3.0版本django的安装、配置、与启动
  18. Emacs中编辑保存makefile文件时会错误地将TAB转成空格的解决方法
  19. 通用标签、属性(body属性、路径、格式控制)
  20. 51Nod1962 区间计数

热门文章

  1. mysql 需要内核级线程的支持,而不只是用户级线程,这样才能够有效的使用多个cpu
  2. MybatisPlus多数据源及事务解决思路
  3. SAP demo包 示例程序
  4. ORACLE 归档日志打开关闭方法(转载)
  5. 前端面试准备笔记之JavaScript(04)
  6. 抓包一张tcpdump小抄就够了
  7. RMI笔记
  8. pod资源限制和QoS探索
  9. 删除Kafka中的topic
  10. linux下安装 zookeeper-3.4.9并搭建集群环境