Вы, конечно, не должны использовать NotSupportedException, как вы предлагаете, потому что ваше приложение поддерживает данный метод.NotSupportedException используется, когда реализован интерфейс или абстрактный класс, но некоторые члены не реализованы полностью, поскольку они не имеют смысла в контексте (чтение из выходного потока, очистка коллекции только для чтения и т. Д.).
Более близкое совпадение - это нечто вроде InvalidOperationException, где член может использоваться, но без текущего состояния.
Вы говорите «приложение», которое предлагает исполняемый файл, а не компонент для использования кем-то другим.В этом случае вы не собираетесь выдавать исключение вплоть до вызывающего кода (поскольку там нет вызывающего кода), но либо открываете диалог (для приложения с графическим интерфейсом), либо пишете в Console.Error (для консольного приложения).Это делает вероятным, что либо вы просто собираетесь отобразить значение свойства Message исключения, либо вам просто нужен тип класса, чтобы пометить конкретное сообщение.Либо просто получение AppNotRunningException из Exception, либо простое использование Exception напрямую, вероятно, будет работать отлично, в зависимости от того, какой из двух вариантов вы считаете наиболее удобным.