Я знаю, что вы не можете получить исключение null-указателя в Haskell, но мне интересно, что на других языках есть эта функция. Например, коллега спросил, запрещены ли какие-либо интерпретируемые языки, но я не знал ответа. Единственный язык, который я знаю об этом, избегает этого billion dollar mistake - это Haskell.Какие языки программирования предотвращают исключения нулевого указателя?
ответ
В Objective-C вы можете передавать сообщения объектам, которые на самом деле являются nil
, и они молча возвращаются nil
.
Но вы все еще можете быть в опасности исключений с нулевым указателем, когда вы выполняете разыменование указателей типа C (например, при использовании операторов *
или .
).
Kotlin - это статически типизированный язык программирования, который работает на виртуальной машине Java, а также может быть скомпилирован в исходный код JavaScript или использовать инфраструктуру компилятора LLVM.
Kotlin избегает исключений из нулевого указателя, делая различие между типами NULL и NULL. Все переменные с нулевым значением должны быть объявлены с помощью?? postfix после имени типа. Операции с переменными с нулевым значением требуют особой заботы от разработчиков: перед использованием значения необходимо выполнить нуль-проверку.
Чтобы вызвать методы для переменной типа NULL, вы должны либо использовать символ «?», оператор, который вызывает метод только в том случае, если переменная не является нулевой (и делает ее возвращаемым типом nullable), или "!!" оператор, который утверждает, что переменная в настоящее время не равна нулю.
Обратите внимание, что вы по-прежнему можете получить исключение из указателя указателя на Kotlin, если вы используете «!!» оператора на нулевом объекте или при взаимодействии с Java.
- 1. Проверка исключения нулевого указателя
- 2. Необязательные исключения нулевого указателя
- 3. Ошибка исключения нулевого указателя
- 4. Получение исключения нулевого указателя
- 5. Получение исключения нулевого указателя
- 6. Какие языки программирования требуют IDE?
- 7. Какие языки программирования поддерживают TestComplete?
- 8. Какие языки программирования являются регулярными?
- 9. Какие языки программирования для GPU
- 10. Какие языки программирования трудно скрывать?
- 11. Bitmap создать исключения нулевого указателя
- 12. Java-ошибка исключения нулевого указателя
- 13. Кнопка винта исключения нулевого указателя
- 14. Исправления для исключения нулевого указателя
- 15. calcloc.distanceTo() выброс исключения нулевого указателя
- 16. Причина исключения указателя нулевого кода
- 17. Странный случай исключения нулевого указателя
- 18. Facebook Разработка игр - Какие языки программирования?
- 19. Какие языки программирования хорошо работают для моделирования?
- 20. Какие языки программирования не поддерживаются Eclipse?
- 21. Какие языки программирования поддерживают постоянные методы?
- 22. Какие языки программирования .NET имеют поставщик CodeDom?
- 23. Какие языки программирования используются для мультимедийных пультов?
- 24. Какие языки программирования имеют JIT-компиляторы?
- 25. Какие языки реализуют функции от функционального программирования?
- 26. Какие языки программирования хороши для статистики?
- 27. Какие языки программирования не имеют индексированных списков?
- 28. Какие другие языки программирования работают на PNaCl?
- 29. Какие языки программирования имеют доступ к WinAPI?
- 30. Какие языки программирования возможны на Blackberry?
PHP? Технически это не дает вам исключение nullpointer, просто предупреждение. –
@BartFriederichs для меня это не похоже на то, что позволяет избежать «ошибки в миллиард долларов», но все же очень интересно знать –