Piszę aplikację C#, która używa automatyzacji do sterowania innym programem. Oczywiście ten program musi działać, aby mój program działał. Kiedy mój program szuka aplikacji i nie może jej znaleźć, chciałbym rzucić wyjątek (na razie później mógłbym oczywiście spróbować otworzyć aplikację lub powiedzieć użytkownikowi, żeby ją otworzyć, lub ...).Jaki typ wyjątku do rzucania w tym przypadku?
Czy mogę zaimplementować niestandardowy wyjątek - lub użyć istniejącego wyjątku NotSupportedException (lub jednego z innych wyjątków .NET). Jeśli niestandardowy wyjątek, co byś zasugerował? Myślałem o implementacji wyjątku niestandardowego, który nazwałbym MyAppNameException, a następnie użyłbym tej wiadomości, aby zadeklarować, jaki jest problem?
Czy istnieją ogólne zasady dotyczące zgłaszania wyjątków w sposób, który powoduje, że program jest bardziej czytelny i przyjazny dla użytkownika, czy też po prostu zbytnio się nad tym zastanawiam :)?
Dzięki!
W przypadku wywodzenia się z "System.Exception" [dobrą praktyką jest wdrożenie trzech zalecanych wspólnych konstruktorów] (https://msdn.microsoft.com/en-us/library/87cdya3t%28v=vs.110% 29.aspx). To powiedziawszy, w sytuacji opisanej w pytaniu, wyrzucenie wyjątku może nie być najlepszym podejściem. Zobacz [odpowiedź] (http://stackoverflow.com/a/3471960/1497596) autorstwa @Hans Passant. – DavidRR