Zauważyłem, że w hierarchii wyjątków Ruby występują "błędy", takie jak ArgumentError i są "wyjątki", takie jak SignalException. Czy istnieje pewna praktyka nazywania wyjątków? z góry dzięki, ell.Wyjątek lub błąd ruby?
12
A
Odpowiedz
8
Patrząc na the list of Ruby exceptions, SignalException
jest jedynym o nazwie *Exception
; wszystko inne to XXXError
(z wyjątkiem SystemExit
i fatal
). Jeśli cokolwiek, praktyka polega na nazwij swój wyjątek FooError
. Mam problem ze znalezieniem konkretnego powodu, dla którego SignalException
nie ma nazwy SignalError
.
5
Konwencja to Module::#{Type}Error
z dowolnego powodu spowodowanego przez aplikację (np. http://weblog.jamisbuck.org/2007/3/7/raising-the-right-exception). Obsługa wyjątków w Rubim nie jest warstwowana w taki sam sposób, jak w Javie, ponieważ model wyjątku jest inny na poziomie języka.
Z tego, co widziałem, konwencje są nieco luźniejsze dla rozszerzeń C/FFI/JNA.
Powiązane problemy
- 1. Wyjątek dla niepoprawnej daty ruby
- 2. Błąd krytyczny PHP: Niezamknięty wyjątek "Wyjątek"
- 3. Błąd StackOverflow, wyjątek View.inflate
- 4. Błąd Javascript uncaught wyjątek
- 5. Ruby instalacja perełki błąd
- 6. Błąd Ruby: "Brak takiego pliku lub katalogu - skrypt/generowanie (LoadError)"
- 7. Wyjątek PSQLException: BŁĄD: błąd składni w pukrzeniu
- 8. Błąd podczas instalowania ruby-ruby-1.9.3-p551
- 9. Ciąg Ruby # heksadecymalny błąd
- 10. Błąd aktualizacji Ruby Docs
- 11. Symfony2 i wyjątek rzucanie błąd
- 12. Błąd vs wyjątek w Dart
- 13. wyjątek com.apple.coreaudio.avfaudio powód: błąd -50
- 14. passportjs błąd zwrotna rzuca wyjątek
- 15. Debuger Perla - błąd włamania (wyjątek)?
- 16. Nieprzyjęty wyjątek zgłoszony przez finalizatora: błąd interfejsu API Google lub błąd jądra Samsunga?
- 17. Błąd magistrali BUG ruby 1.8.7
- 18. Błąd: instalacja ruby-debug-ide
- 19. Ruby FTP tryb pasywny błąd
- 20. Błąd z Ruby Twitter API
- 21. Błąd Chrome z NO_MODIFICATION_ALLOWED_ERR DOM Wyjątek 7
- 22. Ruby multiple group_by lub map
- 23. LDAP przez Ruby lub Railsy
- 24. Array lub hasz w Ruby
- 25. Błąd blokady mysql lub błąd?
- 26. Błąd optymalizatora lub błąd programowania?
- 27. Sterowanie przepływem ruby: wyrzuć wyjątek, wróć do zera lub pozwól mu zawieść?
- 28. który wyjątek przechwytuje błąd xxxx w pythonie
- 29. Jak rozwiązać błąd AutoMappera? (Stackoverflow wyjątek!)
- 30. Błąd migracji południowej: wyjątek NoMigrations dla django.contrib.auth
http://stackoverflow.com/questions/912334/differences-betweeen-exception-and-error ma dobry opis różnic między wyjątkami i błędami, aczkolwiek w przypadku języka innego niż ruby. –
Dzięki, że trochę wyjaśniłeś! – Ell