我很困惑如何在強制變量爲空的情況下做錯誤處理。powershell強制性參數拋出錯誤,當空
function parse-com{
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$True)]
[string[]]$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
查找到的參數使用[ValidateScript(https://powershell.org/2013/05/21/validatescript-for-beginners/),而不是僅讓強制。 –