Комментарии 12
Спасибо! Отлично дополняет Ваш канал на Ютубе. Однако, Ваши выпускники, Иван, не должны повторять «РанЕйбл», Вы же аутсорсников готовите :)
0
Если Вы имеете в виду, что у меня просто чудовищное произношение, то да.
Есть такая беда, не могу исправить:(
Есть такая беда, не могу исправить:(
0
А еще стоит добавить, что бросание RuntimeException сильно замедляет код, т.к. при каждом бросании копирует стек вызовов весь и чтобы это победить, нужно переопределить метод fillStackTrace().
0
Господи, да что же все так привязались к медленно работе исключений?
Сколько же раз у вас бросается исключений в секунду? 1.000, 10.000, 100.000 в секунду?
Переписывайте такой код!
В нормальном коде не более 10-100 бросков в секунду.
Сколько же раз у вас бросается исключений в секунду? 1.000, 10.000, 100.000 в секунду?
Переписывайте такой код!
В нормальном коде не более 10-100 бросков в секунду.
+1
Например, в первой версии playframework через runtime исключения был сделан механизм render, чтобы не писать постоянно return и там это конкретно замедляло код (поэтому авторы и сделали то, что я описал выше). И можно еще придумать множество специфичных решений через unchecked exceptions, которые требуют быстрого выполнения.
0
Ваш пример говорит о криворукости программистов, а не о «медленности runtime исключений». Исключения только для исключений, строить логику на них — это проблема архитектуры.
+4
Ислючения — механизм для «особенных ситуаций». Не стоит строить логику работы на исключениях.
PlayFramework — из мира Scala. Этот язык не везде идеально ложится на JVM, отмеченный Вами момент так же (кажется) есть у встроенных в Scala акторов (реализация выхода из замыкания через бросок исключения, если я правильно выражаюсь).
— Я полностью согласен с тем, что исключения не самый быстрый механизм работы. И что есть способы его ускорить, но такие указания для «неокрепших умов» могут толкнуть на нетипичный дизайн кода (есть отличие в том как писать методички и как писать справочники, это — скорее методичка).
— На замечание по поводу PlayFramework — спасибо, не знал. Вы могли бы кинуть кусок кода или ссылку, где можно больше прочитать про API рендеринга?
PlayFramework — из мира Scala. Этот язык не везде идеально ложится на JVM, отмеченный Вами момент так же (кажется) есть у встроенных в Scala акторов (реализация выхода из замыкания через бросок исключения, если я правильно выражаюсь).
— Я полностью согласен с тем, что исключения не самый быстрый механизм работы. И что есть способы его ускорить, но такие указания для «неокрепших умов» могут толкнуть на нетипичный дизайн кода (есть отличие в том как писать методички и как писать справочники, это — скорее методичка).
— На замечание по поводу PlayFramework — спасибо, не знал. Вы могли бы кинуть кусок кода или ссылку, где можно больше прочитать про API рендеринга?
0
— Так вы же пишете учебные статьи, поэтому и появляются дополнения. Мы знаем, что не стоит строить логику на исключениях, а разработчик, только столкнувшийся с Java, прочитав вашу статью, может и не узнать об этом.
— dim_s, вероятно, говорил про первую версию play framework, где, например, метод ok() контроллера бросал Exception.
— dim_s, вероятно, говорил про первую версию play framework, где, например, метод ok() контроллера бросал Exception.
0
>> — Так вы же пишете учебные статьи, поэтому и появляются дополнения. Мы знаем, что не стоит строить логику на исключениях, а разработчик, только столкнувшийся с Java, прочитав вашу статью, может и не узнать об этом.
— В этом смысле — все правильно. Но я стараюсь написать то, или структурировать материал так, чего/как нет в «классических» книгах: Хорстманн, Эккель, Гослинг, Шилдт.
Т.е. я сам свой материал рассматриваю как некоторое дополнение, а не единственный источник знаний.
— В этом смысле — все правильно. Но я стараюсь написать то, или структурировать материал так, чего/как нет в «классических» книгах: Хорстманн, Эккель, Гослинг, Шилдт.
Т.е. я сам свой материал рассматриваю как некоторое дополнение, а не единственный источник знаний.
0
Ну там всё относительно. Есть же пост Шипилева: habrahabr.ru/post/133399 / shipilev.net/blog/2014/exceptional-performance
0
Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Исключения в Java, Часть II (checked/unchecked)