Interpreting Errors
Оскільки TypeScript - це мова програмування, що зорієнтована на допомогу розробнику, її повідомлення про помилки намагаються бути надзвичайно корисними, коли щось пішло не так. Це може призвести до надмірного навантаження інформацією для починаючих користувачів компіляторів.
Давайте розглянемо приклад у середовищі розробки (IDE), щоб розібратися у процесі читання повідомлення про помилку.
Цей приклад демонструє поширену помилку програміста, коли він не викликає функцію (bar: getBar
має бути bar: getBar()
). На щастя, TypeScript виявляє цю помилку, як тільки вона не відповідає вимогам типів.
Категорії помилок
Існують дві категорії повідомлень про помилки TypeScript: стислі (succinct) і докладні (detailed).
Стислі категоріі повідомлень (succinct)
Метою стислого повідомлення про помилку є надання прикладу традиційного опису компілятора номера помилки та повідомлення. У цьому прикладі стисле повідомлення виглядає наступним чином:
Це повідомлення досить зрозуміле. Однак, воно не надає інформаціі про причини виникнення помилки. Для цього призначене детальне повідомлення про помилку.
Детальні категоріі повідомлень (detailed)
Ці повідомлення виглядають так:
Метою детального повідомлення про помилку є підказка для користувача на причину виникнення певної помилки (у цьому випадку, несумісність типів). Перший рядок є таким самим, як у стислому повідомленні, а далі йде ланцюжок. Ви повинні читати цей ланцюжок як послідовність відповідей на питання розробника ЧОМУ?
між рядками, наприклад:
Отже, першопричина в наступному,
для властивості
bar
є функція
() => string
, тоді як вона очікувалася якstring
.
Це має допомогти розробнику виправити помилку для властивості bar
(забули викликати функцію ()
).
Як це відображається у підказці IDE
Зазвичай середовище розробки відображає спочатку детальне
, а потім стисле
повідомлення в підказці, як показано нижче:
Зазвичай ви просто читаєте
детальну
версію, формуючи ланцюжокЧОМУ?
у своїй голові.Ви можете використовувати стислу версію, якщо вам потрібно здійснити пошук схожих помилок (за допомогою коду помилки
TSXXXX
або частини повідомлення про помилку).
Last updated