Установить (полу) сообщение по умолчанию в пользовательском классе исключений - PullRequest
1 голос
/ 11 декабря 2019

Я хочу создать пользовательское исключение в PowerShell с сообщением, которое является почти стандартным, но которое содержит некоторые другие параметры, переданные исключению.

Самое близкое, что я получил, - как ниже, ноэто приводит к ошибке:

«Сообщение» является свойством ReadOnly.

Можно ли установить (полу) сообщение по умолчанию таким образом?

class InvalidEnvironmentException : System.Exception
{
    [string]$Version
    [string]$Environment
    [string[]]$VersionTags

    InvalidEnvironmentException($Version, $Environment, $VersionTags) : base(){
        $this.Message = "Package version '{0}' cannont be deployed to environment '{1}'." -f $Version, $Environment
        $this.VersionTags = $VersionTags
    }
}

1 Ответ

2 голосов
/ 11 декабря 2019

Передайте ваше пользовательское сообщение базовому конструктору:

class InvalidEnvironmentException : System.Exception
{
    [string]$Version
    [string]$Environment
    [string[]]$VersionTags

    InvalidEnvironmentException($Version, $Environment, $VersionTags) : base(("Package version '{0}' cannont be deployed to environment '{1}'." -f $Version, $Environment))
    {
        $this.Environment = $Environment
        $this.Version = $Version
        $this.VersionTags = $VersionTags
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...