Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ сталкиваСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с ситуациями, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, выдавая Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Одной ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных ΠΈ часто нСпонятных Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся сообщСниС ΠΎ нСвозмоТности прСобразования значСния ΠΊ Ρ‚ΠΈΠΏΡƒ Π‘ΡƒΠ»Π΅Π²ΠΎ. Π­Ρ‚Π° ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий, Ρ‚Π°ΠΊ ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°.

Π‘ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ кроСтся Π² строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ язык запросов ΠΈ встроСнный язык программирования 1Π‘. БистСма ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Π˜ΡΡ‚ΠΈΠ½Π° ΠΈΠ»ΠΈ Π›ΠΎΠΆΡŒ, Π½ΠΎ вмСсто этого ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ число, строку, Π΄Π°Ρ‚Ρƒ ΠΈΠ»ΠΈ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Null. ПониманиС Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ происходит этот ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ‚ΠΈΠΏΠΎΠ², являСтся ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΊ быстрому Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ работоспособности ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ возникновСния Π΄Π°Π½Π½ΠΎΠΉ ошибки, ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ исправлСния. ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТныС тСорСтичСскиС Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠΈ, Π° сосрСдоточимся Π½Π° практичСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сбой Π΄Π°ΠΆΠ΅ Π² самой Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° ошибки ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² 1Π‘

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ΠΎΠΌ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΈΠΏ Π‘ΡƒΠ»Π΅Π²ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для хранСния логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Когда Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ сообщСниС "ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния ΠΊ Ρ‚ΠΈΠΏΡƒ Π‘ΡƒΠ»Π΅Π²ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ", это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² мСстС выполнСния условия систСма Π½Π°Ρ‚ΠΊΠ½ΡƒΠ»Π°ΡΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ "Π”Π°" ΠΈΠ»ΠΈ "НСт".

Π§Π°Ρ‰Π΅ всСго такая ситуация Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Если, ΠΈΠ»ΠΈ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ² Π² запросах. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² условиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ссылку Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ пытаСтся ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ намСрСния программиста ΠΈ ТСстко останавливаСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ логичСских ошибок Π² ΡƒΡ‡Π΅Ρ‚Π΅.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними источниками Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°. Если Π² Π±Π°Π·Ρƒ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Excel ΠΈΠ»ΠΈ XML, Ρ‚ΠΈΠΏ поля ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π½Π΅Π²Π΅Ρ€Π½ΠΎ. НапримСр, ΠΏΠΎΠ»Π΅ "АктивСн", ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ булСвским, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊΠ°ΠΊ строка "Π”Π°" ΠΈΠ»ΠΈ число 1. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ присваивания Ρ‚Π°ΠΊΠΎΠ³ΠΎ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° Π‘ΡƒΠ»Π΅Π²ΠΎ ΠΈ происходит сбой.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² явном ΠΊΠΎΠ΄Π΅, Π½ΠΎ ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ стандартных ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π² рСгистрах свСдСний ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ значСния ΠΈΠ·-Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… сбоСв ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Для диагностики Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… допустимы Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ контСкстС. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ нСявном ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π² условиях:

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ прСобразования Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки
Число 0 Π›ΠΎΠΆΡŒ (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах) Высокая
Число 1 НСдопустимо ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ
Π‘Ρ‚Ρ€ΠΎΠΊΠ° "Π˜ΡΡ‚ΠΈΠ½Π°" НСдопустимо ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ
НСопрСдСлСно Null НСдопустимо ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ
Π‘ΡƒΠ»Π΅Π²ΠΎ Π˜ΡΡ‚ΠΈΠ½Π° Π˜ΡΡ‚ΠΈΠ½Π° ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚
πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ошибки Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅?
Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅
Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€
ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²
ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Диагностика Ρ‡Π΅Ρ€Π΅Π· ΠΆΡƒΡ€Π½Π°Π» рСгистрации ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом ΠΏΡ€ΠΈ появлСнии сообщСния ΠΎΠ± ошибкС являСтся точная локализация мСста сбоя. Если ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, какая ΠΈΠΌΠ΅Π½Π½ΠΎ опСрация ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π»Π° Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивным инструмСнтом являСтся встроСнный ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ. ЗапуститС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ воспроизвСдитС дСйствия, приводящиС ΠΊ ошибкС. Когда Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ остановится Π½Π° строкС с ошибкой, Π½Π°Π²Π΅Π΄ΠΈΡ‚Π΅ курсор Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² условии. Π’Ρ‹ сразу ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния ΠΈ Ρ‚ΠΈΠΏΡ‹.

Часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ останова ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ участком ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пошагово ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° пСрСмСнная мСняСт свой Ρ‚ΠΈΠΏ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ явныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

β˜‘οΈ Алгоритм ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ диагностики

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скрыта Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события Ρ„ΠΎΡ€ΠΌΡ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ контСкстноС мСню ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° для просмотра ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, которая ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΌΡƒ участку ΠΊΠΎΠ΄Π°, Π΄Π°ΠΆΠ΅ Ссли сама ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ стандартных подсистСм.

Ошибки Π² условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ΅

Бамая частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° возникновСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ β€” Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Если. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ условиС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ строго Π±ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Рассмотрим классичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ошибки, ΠΊΠΎΠ³Π΄Π° Π² условиС ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ оТидаСтся.


// ΠžΠ¨Π˜Π‘ΠžΠ§ΠΠ«Π™ ΠšΠžΠ”

Если ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ’ΠΎΠ²Π°Ρ€Π°(Π’ΠΎΠ²Π°Ρ€) Π’ΠΎΠ³Π΄Π°

// Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствия

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ’ΠΎΠ²Π°Ρ€Π°, судя ΠΏΠΎ названию, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Число. ИспользованиС числа Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² условии Если нСдопустимо Π² 1Π‘, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования, Π³Π΄Π΅ ноль ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ лоТь. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ прСобразования.

Для исправлСния ситуации Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


// Π˜Π‘ΠŸΠ ΠΠ’Π›Π•ΠΠΠ«Π™ ΠšΠžΠ”

Если ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ’ΠΎΠ²Π°Ρ€Π°(Π’ΠΎΠ²Π°Ρ€) > 0 Π’ΠΎΠ³Π΄Π°

// Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствия

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Аналогичная ситуация Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ссылки Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ сбою. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΡƒΡΡ‚Π°Ρ() ΠΈΠ»ΠΈ сравнСниС с НСопрСдСлСно для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ явныС сравнСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, = Π˜ΡΡ‚ΠΈΠ½Π° ΠΈΠ»ΠΈ > 0) вмСсто нСявной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² условиях. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ошибки Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с запросами ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π°ΠΌΠΈ

Π―Π·Ρ‹ΠΊ запросов 1Π‘ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ строгого соотвСтствия Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Ошибка часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ² Π² запросС, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Π² условиС, ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° поля Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ОсобСнно это ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΠΏΠΎΠ»Π΅ΠΉ Ρ‚ΠΈΠΏΠ° Π‘ΡƒΠ»Π΅Π²ΠΎ Π² рСгистрах свСдСний.

Если Π²Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ запрос динамичСски ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΡ‚Π±ΠΎΡ€Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊ Ρ‚ΠΈΠΏΡƒ. Частая ошибка β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° строки "Π”Π°" ΠΈΠ»ΠΈ числа 1 Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΡ‚Π±ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ Π‘ΡƒΠ»Π΅Π²ΠΎ. БистСма Π½Π΅ смоТСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ сравнСниС Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”.

ΠŸΡ€ΠΈ использовании Π‘ΠšΠ” (БистСма Компоновки Π”Π°Π½Π½Ρ‹Ρ…) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² схСмС ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΎΡ‚Π±ΠΎΡ€Π° ΡƒΠΊΠ°Π·Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Если Ρ‚ΠΈΠΏ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ "Π‘Ρ‚Ρ€ΠΎΠΊΠ°", Π° Π² Π±Π°Π·Π΅ ΠΏΠΎΠ»Π΅ Π±ΡƒΠ»Π΅Π²ΠΎΠ΅, ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка выполнСния запроса.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ измСнСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ»Π΅ΠΉ Π² рСгистрах. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ свои Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ соотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² Π²Π°ΡˆΠΈΡ… Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… Π½ΠΎΠ²Ρ‹ΠΌ трСбованиям Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ запросов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ консоль запросов. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ тСкст запроса ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ошибки. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ условии происходит сбой прСобразования Ρ‚ΠΈΠΏΠΎΠ².

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ внСшниС источники

ΠŸΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ 1Π‘ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами (сайты, CRM, банковскиС ΡˆΠ»ΡŽΠ·Ρ‹) часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π½Π΅ΡˆΠ½ΡΡ систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π»Π°Π³ активности Ρ‚ΠΎΠ²Π°Ρ€Π° Π² Π²ΠΈΠ΄Π΅ строки "true", "yes" ΠΈΠ»ΠΈ числа 1. ΠŸΡ€ΠΈ прямой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ этих Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ рСгистр 1Π‘ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ошибка.

НСобходимо Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ этап ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ явноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ². Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² любом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ строго Ρ‚ΠΈΠΏ Π‘ΡƒΠ»Π΅Π²ΠΎ. Π­Ρ‚ΠΎ обСспСчит Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:


Ѐункция ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒΠ’Π‘ΡƒΠ»Π΅Π²ΠΎ(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Π‘ΡƒΠ»Π΅Π²ΠΎ") Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = 1 Или Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = "1" Или Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = "Π˜ΡΡ‚ΠΈΠ½Π°" Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π˜ΡΡ‚ΠΈΠ½Π°;

Π˜Π½Π°Ρ‡Π΅

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π›ΠΎΠΆΡŒ;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с JSON

ΠŸΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ JSON-структур Π² 1Π‘ значСния Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’ΠΈΠΏΠ—Π½Ρ‡() для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ опрСдСлСния Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅Π΄ присваиваниСм.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Excel ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. Π―Ρ‡Π΅ΠΉΠΊΠ°, отформатированная ΠΊΠ°ΠΊ тСкст, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ слово "Π˜ΡΡ‚ΠΈΠ½Π°", ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ 1Π‘ Π½Π΅ распознаСт ΠΊΠ°ΠΊ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· явного прСобразования. ВсСгда провСряйтС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ячССк исходного Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ программирования

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ошибок Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, слСдуСт ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… стандартов написания ΠΊΠΎΠ΄Π°. Одним ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» являСтся явноС объявлСниС Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π₯отя 1Π‘ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Π΅Π· объявлСния, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ самому программисту ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ критичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Ѐункция Π’ΠΈΠΏΠ—Π½Ρ‡() являСтся вашим Π»ΡƒΡ‡ΡˆΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π² диагностикС. ΠŸΠ΅Ρ€Π΅Π΄ присваиваниСм значСния ΠΈΠ»ΠΈ использованиСм Π² условии провСряйтС, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ соотвСтствуСт ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ.

  • πŸ›‘οΈ ВсСгда провСряйтС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, особСнно Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ НСопрСдСлСно ΠΏΡ€ΠΈ отсутствии Π΄Π°Π½Π½Ρ‹Ρ….
  • 🧹 РСгулярно ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°, устраняя нСявныС прСобразования Ρ‚ΠΈΠΏΠΎΠ² ΠΈ замСняя ΠΈΡ… Π½Π° явныС сравнСния.
  • πŸ“š Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ.

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ статичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ мСста ошибок Π½Π° этапС написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄ΠΎ запуска ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для 1Π‘ ΡƒΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ конструкции, Π³Π΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ нСсоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ².

πŸ’‘

Явная типизация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡() для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ β€” самый Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ошибки прСобразования Ρ‚ΠΈΠΏΠΎΠ².

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ настройками ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²Π° доступа, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сСанса ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π΅Π³ΠΎ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΡΡ‚ΡŒ запись с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² Π±ΡƒΠ»Π΅Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ эта ошибка Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…?

Π”Π°, Π² Ρ€Π΅Π΄ΠΊΠΈΡ… случаях физичСскоС ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ цСлостности Ρ‚Π°Π±Π»ΠΈΡ† SQL ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌΡƒ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Если ошибка носит массовый Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΈ Π½Π΅ связана с ΠΊΠΎΠ΄ΠΎΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ тСстированиС ΠΈ исправлСниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π°.

Как быстро Π½Π°ΠΉΡ‚ΠΈ строку ΠΊΠΎΠ΄Π°, Ссли ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅?

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ установитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΡ€ΠΈΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅). Пошагово ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Если ошибка Π² динамичСски создаваСмых элСмСнтах, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ консоль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ критичСскими участками.

ВлияСт Π»ΠΈ вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ Π½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ этой ошибки?

Π›ΠΎΠ³ΠΈΠΊΠ° прСобразования Ρ‚ΠΈΠΏΠΎΠ² являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ°Π»ΠΎ мСняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями. Однако Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ уТСсточСны трСбования ΠΊ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… встроСнных функциях. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с описаниСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.