小编kla*_*eon的帖子

powershell 强制参数在 null 时抛出错误

我对如何在强制变量保持为空的情况下进行错误处理感到困惑。

function parse-com{
    [CmdletBinding()]
    Param
    (
        [Parameter(Mandatory=$True)]
        [string[]]$list
     )
...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果没有为 $list 传递参数,则会提示我输入它,但如果我只是按回车键(将空值传递给 $list),则会抛出错误。我宁愿做的是抛出一个使用声明和/或优雅地退出。例子...

PS C:\Users\memyself> parse-com
cmdlet parse-com at command pipeline position 1
Supply values for the following parameters:
list[0]: 
parse-com : Cannot bind argument to parameter 'list' because it is an empty array.
At line:1 char:1
+ parse-com
+ ~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [parse-com], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyArrayNotAllowed,parse-com
Run Code Online (Sandbox Code Playgroud)

powershell

2
推荐指数
1
解决办法
2232
查看次数

标签 统计

powershell ×1