Jakie są wytyczne dotyczące tworzenia nowego typu wyjątku zamiast korzystania z jednego z wbudowanych wyjątków w .Net?Kiedy używać nowego wyjątku typu:
Problem, który skłonił mnie do myślenia, jest taki. Mam usługę WCF, która jest podstawową usługą wejścia-wyjścia. Jeśli usługa nie może utworzyć wyjścia, ponieważ dane wejściowe są nieprawidłowe, chcę rzucić wyjątek, ale który?
W tej chwili po prostu wyrzucam system. Wyjątek, ale to nie wydaje mi się właściwe, nie wiem dlaczego, po prostu czuje się źle. Jedna rzecz, która mnie trapi, jeśli testuję ją testem jednostkowym i oczekuję wyrzucenia wyjątku systemowego. Wyjątek mógłby równie dobrze zostać wyrzucony przez framework lub inny kod, a nie przez kod, który wyrzuciłem. Test przejdzie następnie, ponieważ otrzymam oczekiwany wyjątek, ale powinien on zakończyć się niepowodzeniem.
Co polecasz?
Myślę, że jest to odpowiednie dla wszystkich języków używających wyjątków. –