J'ai déjà beaucoup travaillé avec Java et maintenant je travaille plus avec Ruby. Une chose que je ne peux pas comprendre cependant est ce qui est l'équivalent de ruby à Java "NullPointerException"? Je veux tester les variables quand j'entre une fonction et si elles sont nulles je veux soulever ce type d'exception. Y at-il une classe d'erreur ruby spécifique pour élever ce type d'exception?lever "NullPointerException" dans Ruby
Répondre
Raising un ArgumentError pourrait convenir à votre situation. Vous pouvez faire quelque chose comme ceci:
def i_dont_take_nils_from_nobody x
raise ArgumentError.new "You gave me a nil!" if x.nil?
puts "thanks for the #{x}"
end
i_dont_take_nils_from_nobody nil
#=> ArgumentError: You gave me a nil!
i_dont_take_nils_from_nobody 1
#=> thanks for the 1
La liste d'exceptions ne comprend pas de telles choses.
nil est un objet, et les éléments peuvent être vérifiés pour s'assurer qu'ils ne sont pas nuls.
result = Base.find(blah)
result.nil?
appel d'une méthode sur zéro que nul (l'objet) n'a pas devrait vous donner une exception NoMethodError.
result = Base.find(blah) #returning no result
result.my_advanced_functionality(42)
Depuis résultat est nul, et l'objet nul ne définit pas my_advanced_functionality fonction, vous obtiendrez un NoMethodError
L'une des choses que je vois une bonne quantité que j'apprends est « Vous avez appelé à tort id sur nil, qui serait 4 "(parce que l'ID d'objet de nil est 4)
L'exception heirarchy a une exception ArgumentError, que je n'ai jamais utilisée, mais qui pourrait vous servir.
Il n'y a pas des pointeurs nuls en rubis, mais vous pouvez toujours soulever l'exception si vous voulez:
>> class NullPointerException < Exception; end => nil >> raise NullPointerException NullPointerException: NullPointerException from (irb):2
- 1. Comment lever des exceptions dans Delphi?
- 2. NullPointerException dans PlatformUI.getWorkbench(). GetActiveWorkbenchWindow(). GetActivePage()
- 3. Java NullPointerException
- 4. JSF Myfaces NullPointerException: serialFactory
- 5. NullPointerException d'Eclipse compilateur
- 6. h: selectManyCheckBox obtient NullPointerException
- 7. getClass(). GetClassLoader(). GetResourceAsStream lève une exception NullPointerException
- 8. Comment configurer spring HandlerExceptionResolver pour gérer NullPointerException levée dans jsp?
- 9. NullPointerException sur appel de méthode request.getHeaderNames dans websphere
- 10. JNLP Déjà initialisé, NullPointerException avec icedtea6-plugin?
- 11. résoudre cette NullPointerException sur binarySearch de java
- 12. GWT + Spring: NullPointerException sur l'appel getServletContext()
- 13. WPF: curseur ne marche pas lever MouseLeftButtonDown ou MouseLeftButtonUp
- 14. Je reçois un NullPointerException lors de l'accès des contraintes statiques
- 15. Hibernate saveOrUpdate() nullPointerException lancé à chaque seconde mise à jour
- 16. RAII dans Ruby (Ou, comment gérer les ressources dans Ruby)
- 17. Constructeurs moqueurs dans Ruby
- 18. Ruby dans Erlang
- 19. method_missing gotchas dans Ruby
- 20. Recherche SQL dans Ruby
- 21. Inverser DNS dans Ruby?
- 22. Méthodes d'usine dans Ruby
- 23. Continuations dans Ruby
- 24. Bloc commentant dans Ruby
- 25. Sprintf dans Ruby
- 26. Matrices limitées dans Ruby
- 27. Pourquoi est-ce que je continue à obtenir une exception NullPointerException dans le Java BasicTableUI $ Handler.setValueIsAdjusting?
- 28. Comment Carte Propriété unset à la valeur sans se NullPointerException dans Dozer
- 29. Mise en veille prolongée NullPointerException lors de l'utilisation des critères dans une session de EntityMode.DOM4J
- 30. Comment faire pour lever une exception sur le numéro de version d'un module
1-liner: raise classe NullPointerException
klochner