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

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

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

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

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Ошибка Β«ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния ΠΊ Ρ‚ΠΈΠΏΡƒ Число» сигнализируСт ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΏΠΎΠ»Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠΏΠ°Π»ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ строка, содСрТащая Π±ΡƒΠΊΠ²Ρ‹, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Null ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ссылки.

БистСма Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски привСсти тСкст Β«100 Ρ€ΡƒΠ±Π»Π΅ΠΉΒ» ΠΈΠ»ΠΈ ΠΏΡƒΡΡ‚ΡƒΡŽ строку ΠΊ числу 100 Π±Π΅Π· явных ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΉ. Когда Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ число с тСкстом ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ тСкст Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, срабатываСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Бтрогая типизация Π² Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… финансовых Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

ОсобСнно часто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними источниками Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Excel ΠΈΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ с сайтом, Π³Π΄Π΅ Π² числовоС ΠΏΠΎΠ»Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ символ Β«-Β» ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π». Π’ Ρ‚Π°ΠΊΠΈΡ… ситуациях стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π½Π΅ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚, ΠΈ трСбуСтся ручная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° автоматичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² критичСских ΡƒΠ·Π»Π°Ρ… ΡƒΡ‡Π΅Ρ‚Π°. ВсСгда провСряйтС Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ остановки Ρ€Π°Π±ΠΎΡ‚Ρ‹ прСдприятия.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π’ΠΈΠΏΠ—Π½Ρ‡() для быстрой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ слоТных вычислСний.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии возникновСния сбоя

Ошибки прСобразования Ρ€Π΅Π΄ΠΊΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π½Π° пустом мСстС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ слСдствиСм спСцифичСских дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ особСнностСй ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…. Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частыС ситуации, ΠΊΠΎΠ³Π΄Π° систСма Π²Ρ‹Π΄Π°Π΅Ρ‚ этот Π΄ΠΈΠ°Π³Π½ΠΎΠ·.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ сцСнарий β€” это Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Если Π² ΠΏΠΎΠ»Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ для количСства ΠΈΠ»ΠΈ суммы, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π» тСкст (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«Π½Π΅Ρ‚Β» ΠΈΠ»ΠΈ оставил ΠΏΡ€ΠΎΠ±Π΅Π»), Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ прСдусмотрСл Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ сбой. Π’Ρ‚ΠΎΡ€ΠΎΠΉ сцСнарий связан с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° измСнилась структура хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ старыС записи Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.

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

  • πŸ“‚ Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· CSV ΠΈΠ»ΠΈ TXT Ρ„Π°ΠΉΠ»ΠΎΠ², Π³Π΄Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ настроСны Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹ ΡΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ с тСкстом.
  • πŸ”„ ОбновлСниС Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ’» Ошибки Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, Π³Π΄Π΅ пСрСмСнная инициализируСтся пустым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄ суммированиСм.
πŸ“Š Π“Π΄Π΅ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго встрСчаСтС эту ΠΎΡˆΠΈΠ±ΠΊΡƒ?
Π’ ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ
ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°
ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°
Π’ внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

Диагностика с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации

Для устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мСсто Π΅Ρ‘ возникновСния. Π‘Π°ΠΌΡ‹ΠΉ эффСктивный инструмСнт β€” встроСнный ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ. ЗапуститС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ процСсс Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Когда появится ΠΎΠΊΠ½ΠΎ с ошибкой, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ°Β».

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ пСрСнСсСт вас Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΊΠΎΠ΄Π° Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π° Ρ‚Ρƒ строку, Π³Π΄Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Π²Π΅Π΄ΠΈΡ‚Π΅ курсор Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами, Π½ΠΎ содСрТат тСкст ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

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

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Число(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π˜Π·Π‘Π°Π·Ρ‹);

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка Π² ΠΏΠΎΠ»Π΅: " + ИмяПоля);

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

ИспользованиС конструкции ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ позволяСт ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π»ΠΎΠ³ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π²Ρ‹Π·Π²Π°Π²ΡˆΠΈΠ΅ сбой, Π½Π΅ прСрывая Ρ€Π°Π±ΠΎΡ‚Ρƒ всСго сСанса. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² массовых ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ….

β˜‘οΈ Алгоритм поиска ошибки

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

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

БущСствуСт нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ стал устойчивым ΠΊ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ. Π‘Π°ΠΌΡ‹ΠΉ простой способ β€” использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Число() с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ. Однако Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ являСтся явная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ.

Ѐункция Число() пытаСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку Π² число. Если строка содСрТит нСдопустимыС символы, ΠΎΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ 0 ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² зависимости ΠΎΡ‚ контСкста ΠΈ настроСк ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π’ΠΈΠΏΠ—Π½Ρ‡() ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’ΠΈΠΏ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ОписаниС Риск
Число(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Высокий (ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 0)
Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° Низкий (бСзопасно)
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ошибки Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ (влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ)

Π›ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ записи Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ для Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Ρ‡Π΅ΠΌ ΠΌΠΎΠ»Ρ‡Π° Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… Π½Π° Π½ΡƒΠ»ΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования конструкции Β«ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°-Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Β» Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² с большим количСством ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ критичСски Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

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

Π’ 1Π‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно (Null) Π½Π΅ Ρ€Π°Π²Π½ΠΎ 0. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Число + НСопрСдСлСно часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка прСобразования. ВсСгда ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½ΡƒΠ»Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ суммирования.

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с рСгистром свСдСний

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

Для поиска Ρ‚Π°ΠΊΠΈΡ… записСй ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ»ΠΈ запрос. Π’ запросС слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π•Π‘Π’Π¬NULL ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ поля ΠΊ строковому Ρ‚ΠΈΠΏΡƒ для Π°Π½Π°Π»ΠΈΠ·Π° содСрТимого. Если Π² ΠΏΠΎΠ»Π΅, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ число, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ записи Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ исправлСния.

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

ΠŸΠ΅Ρ€Π΅Π΄ массовым ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ создайтС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ (Π±Π΅ΠΊΠ°ΠΏ). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прямого измСнСния Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠ»ΠΈ массового пСрСпровСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ нСпрСдсказуСмым послСдствиям, Ссли Π»ΠΎΠ³ΠΈΠΊΠ° исправлСния написана Π½Π΅Π²Π΅Ρ€Π½ΠΎ.

  • πŸ” Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΈΠ· заполнСнности ΠΏΠΎΠ»Π΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Β«Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉΒ».
  • πŸ›  Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Β«Π“Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²Β» с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ.
  • πŸ’Ύ Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ очисткС.

ΠŸΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ° ошибок Π² Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ…

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° «прСобразования ΠΊ Ρ‚ΠΈΠΏΡƒ число» Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π°ΡΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° бСзопасного программирования. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² описании ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

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

ΠŸΡ€ΠΈ написании запросов явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ»Π΅ΠΉ Π² псСвдонимах, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ запроса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π§Π˜Π‘Π›Πž, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ записСй. РСгулярный ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасныС мСста Π΄ΠΎ внСдрСния Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΡƒΡŽ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ.

πŸ’‘

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Π°Ρ валидация Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра β€” СдинствСнный Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ошибки Ρ‚ΠΈΠΏΠΎΠ² Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°?

Π§Π°Ρ‰Π΅ всСго Π² ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π°Π·Ρ‹. Если Π² Π±Π°Π·Π΅ это ΠΏΠΎΠ»Π΅ пустоС (НСопрСдСлСно) ΠΈΠ»ΠΈ содСрТит тСкст, Π° ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ число для форматирования, Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ выбрасываСт ΠΎΡˆΠΈΠ±ΠΊΡƒ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ источник Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Ρ‡Π΅Ρ‚Π°.

Как Π½Π°ΠΉΡ‚ΠΈ строку ΠΊΠΎΠ΄Π°, Ссли ошибка Π² внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅?

Если Ρƒ вас Π½Π΅Ρ‚ исходников внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, запуститС Π΅Ρ‘ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ°Β». Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° скомпилирована, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠΌΠ΅Ρ€ строки Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎΠ³Π΄Π° потрСбуСтся связь с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ошибка Π±Ρ‹Ρ‚ΡŒ связана с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа?

Π‘Π°ΠΌ ΠΏΠΎ сСбС доступ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ прСобразования Ρ‚ΠΈΠΏΠ°. Однако, Ссли ΠΈΠ·-Π·Π° ΠΏΡ€Π°Π² доступа Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля Π½Π΅ считываСтся ΠΈ возвращаСтся ΠΊΠ°ΠΊ НСопрСдСлСно, Π° Π΄Π°Π»Π΅Π΅ ΠΎΠ½ΠΎ участвуСт Π² вычислСниях, это ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сбой Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΈΠΏΠ°.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ошибка появляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ?

Π­Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (настройки, Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ) ΠΈΠ»ΠΈ спСцифичСскиС дСйствия ΠΈΠΌΠ΅Π½Π½ΠΎ этого сотрудника. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ ΠΎΠ½ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Ρ…ΠΎΠ΄ стандартных Ρ„ΠΎΡ€ΠΌ, ΠΈΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΈ Π»ΠΈΡ‡Π½ΡƒΡŽ внСшнюю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.