12

В мовах програмування:

exceptions – anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution Wiki

В Списку найтиповіших мовних помилок є пункт:

Неправильно: виключення (exception)
Правильно: виняток
Коментар: калька з російської, в укр. мові «виключення» це іменник утворений від дієслова «виключати»

Також відповідна стаття українською мовою має назву Обробка винятків. З іншого боку, мені важко уявити, щоб хтось казав:

цей метод кидає виняток

Може це той випадок, коли краще користуватися запозиченим терміном? Чи правильно казати виняток?

  • 3
    Спробую пояснити на прикладі. В програмуванні частини коду об’єднують в функції або методи. Коли виконується такий метод, може виникнути т.з. незапланована ситуація. Програміст може обробити цю ситуацію або "передати" її тому, хто буде цю функцію використовувати, щоб той сам вирішив, що робити. В останньому випадку можна сказати, що метод throws exception. Або ж, коли exception ніхто не обробив, то програма може впасти через exception – Iryna Feb 9 '17 at 16:59
  • "виняткова ситуація" проти "виключна ситуація". Виняток виглядає більш природньо – Alex Sodin Feb 9 '17 at 17:34
  • А чим не підходить слово "помилка"? – user2513149 Feb 12 '17 at 11:23
  • «Помилка» — дещо інше поняття. Не кожен виняток є помилкою, як і не кожна помилка обробляється як виключення. «Ексепш(е)н» відкидаємо як варваризм, «виняток» і «виключення» насьогодні функціонують як рівноправні синонімічні варіанти — не наполягатиму на якомусь одному з них. – PY PY Sep 30 '17 at 20:44
9

Справа не у слові виняток, а у дієслові кидає (throw). Воно має більше відтінків у своїх значеннях. За сайтом http://e2u.org.ua/s?w=throw&dicts=all&highlight=on та відповідним словником Мейнаровича та Кратка слово throw можна також перекладати як викидає, тоді відповідне речення можна перекласти як - „Цей метод викидає виняток“, а ще краще, на мою думку, звучатиме так - Цей метод видає виняток або Цей метод породжує виняток. Здається, останнє найкраще відображає суть.

6

Exception у контексті виконання програми - це виняткова, непередбачувана ситуація, дуже схожа на форс-мажор, коротше кажучи - халепаспецифічно український грецизм?.

Як ми бачимо це вже не перший випадок залучення іншомовних слів для опису явищ у формальному і можливо неформальному спілкуванні.

  • 5
    "Халепа" чудово описує момент, коли стається "exception" :) І в словосполученнях гарно звучить: "метод спричинив халепу", "ми зловили халепу". – Nash Bridges Feb 9 '17 at 18:52
  • 1
    здається ґуґл-хром коли немає з'єднання з інтернетом показує сторінку з текстом "ой, халепа!" – chizh Feb 9 '17 at 19:31
6

СУМ подає лише одне означення слова "виключення":

Дія за значенням виключити і виключитися.

В загальному вжитку, як і в програмуванні, слово "exception" має, в принципі, однакове значення - відхилення від норми, звичного процесу. Сюди ж відносимо і переривання виконання програми через певну незаплановану ситуацію. Тому, на мою думку, "запобігання та виправлення винятків" цілком відповідає своїй суті.

P.S. З власного досвіду скажу, що більшість програмістів не заморочується і просто транслітерує з англійської ("ексепшн") або каже "помилка". Хоча, ІМХО, "виняток" - чудовий переклад з англійської, а "помилка" ("error") існує не у всіх мовах програмування.

  • "помилка" ("error") існує не у всіх мовах програмування. А ще, помилка - це не обов’яво ексепшн, так що вийняток - найкращий переклад. Питання тілько в тому, чи варто його взагалі перекладати – Iryna Feb 9 '17 at 17:08
  • Саме так, це два різних поняття. Помилки виправляють ("to fix error"), вийнятки "ловлять", тобто намагаються передбачити, в яких випадках розпочнеться альтернативне виконання програми ("to handle exception"). Мені здається, що переклад загального поняття "exception", як "вийняток", цілком підходить і для ІТ. – обставинниковийТранспозитор Feb 9 '17 at 17:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.