LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы. Или потому что аргументы провалидированы где-то в другом месте. Весь код обрастает try..catch с игнорированием исключений (и хорошо ещё если исключение перевыбрасывают обернув в RuntimeException, а ведь могут и вовсе проигнорировать, что приведёт к непредсказуемым эффектам в случае, если где-то исключение таки вылезет), среди которых тонут реально необходимые проверки. Внезапно, во всех других JVM языках - Kotlin, Groovy, Scala - от этой концепции отказались. Да и в других, не JVM, языках такой подход не нашёл широкого применения. На бумаге выглядит красиво, а на практике не очень.

try..catch должен иметь ценность, а не применяться повсеместно. Исключительная ситуация на то и исключительная.

Исправление KivApple, :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы. Или потому что аргументы провалидированы где-то в другом месте. Весь код обрастает try..catch с игнорированием исключений (и хорошо ещё если исключение перевыбрасывают обернув в RuntimeException, а ведь могут и вовсе проигнорировать, что приведёт к непредсказуемым эффектам), среди которых тонут реально необходимые проверки. Внезапно, во всех других JVM языках - Kotlin, Groovy, Scala - от этой концепции отказались. Да и в других, не JVM, языках такой подход не нашёл широкого применения. На бумаге выглядит красиво, а на практике не очень.

try..catch должен иметь ценность, а не применяться повсеместно. Исключительная ситуация на то и исключительная.

Исправление KivApple, :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы. Или потому что аргументы провалидированы где-то в другом месте. Весь код обрастает try..catch с игнорированием исключений, среди которых тонут реально необходимые проверки. Внезапно, во всех других JVM языках - Kotlin, Groovy, Scala - от этой концепции отказались. Да и в других, не JVM, языках такой подход не нашёл широкого применения. На бумаге выглядит красиво, а на практике не очень.

Исправление KivApple, :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы. Весь код обрастает try..catch с игнорированием исключений, среди которых тонут реально необходимые проверки. Внезапно, во всех других JVM языках - Kotlin, Groovy, Scala - от этой концепции отказались. Да и в других, не JVM, языках такой подход не нашёл широкого применения. На бумаге выглядит красиво, а на практике не очень.

Исправление KivApple, :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы. Весь код обрастает try..catch с игнорированием исключения, среди которого тонут реально необходимые проверки. Внезапно, во всех других JVM языках - Kotlin, Groovy, Scala - от этой концепции отказались. Да и в других, не JVM, языках такой подход не нашёл широкого применения. На бумаге выглядит красиво, а на практике не очень.

Исправление KivApple, :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы. В итоге весь код обрастает try..catch с игнорированием исключения, среди которого тонут реально необходимые проверки. Внезапно, во всех других JVM языках - Kotlin, Groovy, Scala - от этой концепции отказались. Да и в других, не JVM, языках такой подход не нашёл широкого применения. На бумаге выглядит красиво, а на практике не очень.

Исправление KivApple, :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы. Внезапно, во всех других JVM языках - Kotlin, Groovy, Scala - от этой концепции отказались.

Исправление KivApple, :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы. Внезапно, во всех других JVM языках - Kotlin, Groovy, Scala - от этой концепции отказались и игнорировать можно все исключения.

Исходная версия KivApple, :

В итоге приводят к сильному замусориванию кода, поскольку есть много ситуаций, когда доподлинно известно, что исключения не будет в данном конкретном частном случае. Например, при парсинге константы.