В моем C# коде у меня примерно так:
public void RunCommand()
{
var processStartInfo = new ProcessStartInfo(
"notepad.exe")
{
UseShellExecute = true,
Verb = "Runas",
};
var process = Process.Start(processStartInfo);
process.WaitForExit(1000);
}
При запуске это побуждает пользователя предоставить повышенные привилегии. Если пользователь отказывается, вызов вызывает Win32Exception с текстом «Операция была отменена пользователем».
Я хочу специально отловить это исключение, т. Е. Отличить его от других исключений. Я хочу быть в состоянии узнать, что пользователь отменил.
Могу ли я быть достаточно уверенным в том, что когда выбрасывается Win32Exception , возможно, это так? Или вызов может бросить Win32Exception по разным причинам? Я не хочу начинать сопоставление строк в сообщении об ошибке, поскольку оно предположительно зависит от пользовательских настроек ...