<Предыдущая | Содержание: | Следующая>
Логические ошибки
В отличие от синтаксических ошибок, логические ошибки не запрещайте запуск сценария. Скрипт запустится, но не даст желаемого результата из-за проблемы с его логикой. Существует бесчисленное множество возможных логических ошибок, но вот несколько наиболее распространенных видов, встречающихся в сценариях:
1. Неправильные условные выражения. Легко неправильно закодировать if/then/else и реализовать неверную логику. Иногда логика будет обратной или неполной.
2. Ошибки «Отклоняются на единицу». При кодировании циклов, в которых используются счетчики, можно упустить из виду, что цикл может потребовать, чтобы счет начинался с нуля, а не с единицы, чтобы счет завершился в правильной точке. Ошибки такого рода приводят либо к тому, что цикл «сходит с конца», считая слишком далеко, либо к пропуску последней итерации цикла из-за слишком раннего завершения одной итерации.
3. Непредвиденные ситуации. Большинство логических ошибок возникает из-за того, что программа сталкивается с данными или ситуациями, которые не были предусмотрены программистом. Как мы видели, это также может включать непредвиденные расширения, например, имя файла, содержащее встроенные пробелы, которое расширяется до нескольких аргументов команды, а не до одного имени файла.