【错误记录】PowerShell 超级无语的语法错误(令人怀疑人生)
曾经做过测试,本文是本章优秀测试人员的精神,必须定位到原因,不然吃不下饭。其实可以很容易绕过这种问题。
环境:
PowerShell 5.1.16299.64
Windows 10
现有代码如下:
# 备份代码
Function backup_code()
{ # 异常处理块, 覆盖命令的 ErrorAction, 所以如果 $ErrorActionPreference 为 Continue, 单行命令的 ErrorAction 为 Stop 并不会阻止脚本执行
Trap { Write-Host "Backup code occurred error: $($_.Exception.Message)"
Set-Location $CurrentPath -ErrorAction "SilentlyContinue"
return $False
}
return 2
}
运行脚本一直报一个错误:

说是 Function backup_code 中最后的一个" } "有问题, 意外标记,这是语法错误,但是我查了好久,每条语句执行都没有问题。
最终,我发现删除函数里面的第一行注释,就可以。但是我觉得肯定不是简单的说 Trap 必须函数首行或者注释不能在首行,我不行。所以,我尝试过很多方法:
- 删除注释: 错误消失
- 将注释分解为几行:错误仍在
- 将注释后面一部分删除:错误消失
- 将注释移到Trap中:错误消失
这简直不可理喻有没有??????????
为了更精确的定位那个问题,我将注释后面的一部分 "单行命令的 ErrorAction 为 Stop 并不会阻止脚本执行" 从后往前各种组合删除和打乱顺序,以及进行逐个字删除。
最后发现:
当把"并"字删除后,错误消失!!!!!!!!
总结:
此情况仅在函数中定义 Trap 异常处理块,且在 Trap 块上有"并"字注释, 才会出现这种问题,俩个条件缺一不可。如果是Try-Catch-Finally等不会出现。
Update:
不是因为并的原因, 而是因为中文字符导致换行符被破坏了,所以,造成了这种问题
至此,我想说:我对此表示无语,"并" 保留对微软追究精神损失费的权利。
【错误记录】PowerShell 超级无语的语法错误(令人怀疑人生)的更多相关文章
- 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
在使用asp.net core的时候,采用take().skip()分页的时候报如下错误: SqlException: 'OFFSET' 附近有语法错误. 在 FETCH 语句中选项 NEXT 的用法 ...
- sql server 数据库 ' ' 附近有语法错误
昨天做项目时候,遇到标题的问题,代码跟踪把sql 语句 复制出来在数据库执行不了, 然后重新写个一模一样的,然后在 赋值到代码中,还是同样的错误, 就是不知道哪里出现了错误,最后 把 sql 语句写成 ...
- ASP.NET Core 部署IIS及 OFFSET 附近有语法错误解决
今天自己开发了一个订机票的微信公众号,功能基本已经完成,然后想部署到服务器实际测试下.结果部署上去出现各种问题.先安装asp.net core模块,然后发现数据库并不像在开发时一样,执行ef的命令行语 ...
- php 语法错误定位 try catch Throwable
try { } catch (Exception $ex) { // 计算错误 } catch (Throwable $ex) { // 语法错误,致命错误 } Throwable { ...
- 让flask在出现语法错误时仍然自动重启
1问题描述: flask自带的reload只能在语法没毛病的情况下auto_relaod,但是如果有语法错误,进程就会报错退出. 这时修改完语法错误,还得在控制台按“↑”和“enter”重新执行一次p ...
- 【Mac系统】之Mysql数据库遇到修改数字密码的问题(SQL语法错误:ERROR 1064 (42000),密码策略等问题:ERROR 1819 (HY000))
安装完Mysql也进行了第一次初始化密码以及修改密码规则(请参考文章),但是我想后续再改密码,出现了下面几个问题: #SQL语句错误问题 ERROR 1064 (42000): You have an ...
- "bower.json 中出现语法错误" 的解决方案之一
当你用 Visual Studio 2015 Update 3 打开从别处下载的开源项目的时候,如果发现 Bower 提示 "bower.json 中出现语法错误". 请检查一下. ...
- uploadify插件Http Error(302)错误记录(MVC)
由于项目(asp.net MVC)需要做一个附件上传的功能,使用的是jQuery的Uploadify插件的2.1.0版本,上传文件到自己项目指定的文件夹下面.做完之后,在谷歌上测试是正确的,在火狐上报 ...
- 关于SubSonic3.0未处理InvalidOperationException异常(关键字TOP附近有语法错误)的处理
早上在测试程序时,使用了Top这个属性,没想到马上抛出了个“未处理InvalidOperationException异常(关键字'TOP'附近有语法错误)”这个错误提示,见下图: 然后Debug一下, ...
随机推荐
- 如何查看oracle用户具有的权限和角色
.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; .查看用户或角色系统权限(直接 ...
- c# 对Url 解码编码
/// <summary> /// 对Url进行编码 /// </summary> /// <param name="url">url</ ...
- [PHP] 算法-把数组排成最小的数的PHP实现
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 解法1 1.数组排序, ...
- Java8的lambda表达式和Stream API
一直在用JDK8 ,却从未用过Stream,为了对数组或集合进行一些排序.过滤或数据处理,只会写for循环或者foreach,这就是我曾经的一个写照. 刚开始写写是打基础,但写的多了,各种乏味,非过来 ...
- js查询数组或者List类型是否包含某个元素
方法一:arr.indexOf(某元素) 实际用法:if(arr.indexOf(某元素) > -1){//则包含该元素} 例: var fruits = ["Banana" ...
- HDU6213
Chinese Zodiac Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
- 使用svn钩子遇到的坑
1.svn钩子(hooks)自动部署代码到web目录(以前公司用,很好奇怎么做的,折腾了两天,掉进了坑里)共勉!!! web目录:/home/www/xiaokai svn版本库目录:/svn/xia ...
- canvas-5Bezier-QuadraticCurveTo.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- flow-vue.js移动端效果
得益于vue.js和element,以及vue-element-extends在线表格编辑.前后端分离的后端用golang+beego框架,服务器采用腾讯云. vue的自适应做的很好,只要将侧栏加一行 ...
- JavaScript大杂烩5 - JavaScript对象的若干问题
1. 类型检查:instanceof与typeof 这是两个相似的操作符,instanceof用于检测函数的实例类型,主要是在面向对象编程中检查new出来的对象类型,需要注意instanceof是检查 ...