2012-02-18 17 views
7

Zastanawiałem się, w jaki sposób obsługa funkcji nie udaje się. Czy zgłaszasz wyjątek, czy zwrócisz komunikat o błędzie?Funkcja nie powiodła się: Podnieś wyjątek lub zwróć FALSE? Jakie jest lepsze podejście?

e.G. Mam funkcję, która ma łączyć się z zewnętrznym obiektem com-object. Jeśli obiekt nie został zainicjowany przez inny program, nie można ustanowić połączenia. Jaki byłby preferowany sposób Pythona powiadomienia głównego programu? Czy powinienem zgłosić wyjątek ze szczegółowym komunikatem o błędzie, czy powinienem zwrócić komunikat o błędzie?

Dzięki!

Odpowiedz

9

Python bezwzględnie sprowadza się po stronie wyjątków. Zawsze uważałem, że this article jest doskonałym wyjaśnieniem.

2

Wyrzuć wyjątek, po to tam są.

Pozwalają one na używanie kodu do zarządzania błędem, przekazywanie zwrotnych łańcuchów daje zbyt wiele okazji do niewłaściwego postępowania.

Rozważ przypadek, w którym zwrócisz ciąg lub normalnie normalnie, sprawdzenie, czy komunikat o błędzie może powodować problemy i może nie być w stanie ich złapać przez cały czas, również nie jest zbytnio Pythoniczne.

Powiązane problemy