Какие ошибки относятся к ошибкам определения данных

Работа по теме: JavaEx. Глава: Определение понятия ошибки и исключения.. ВУЗ: МИРЭА.

Определение
понятия ошибки и исключения.
Классификация
ошибок.
Общий способ обработки
ошибок.
Обработка ошибок в языке Java.

— исключение в Java.

— причины возникновения исключений
в Java

— конструкция обработки исключения

— асинхронные исключения

иерархия исключений

классы Exception и RuntimeException

— класс Error
Приложения.

Определение понятия ошибки и исключения.

В
качестве введения рассмотрим определения
понятия «ошибка». Начнем с наиболее
общего трактования этого:
В самом
общем случае под ошибкой понимается
какой-то сбой в программе на этапе ее
выполнения.
По определению стандарта
ISO
9241-13 ошибка это – несоответствие между
целями пользователя и ответом системы.

Ошибкой также можно назвать
недокументированные или нежелательные,
«побочные» реакции программы на
те или иные действия пользователя равно
как и при использовании ее одновременно
с другим программами или на другой
аппаратной платформе.
В книге «К.
Браун, Р. Калбертсон, Г. Кобб. Быстрое
тестирование» приводится такое
определение программных ошибок: «Говоря
простыми словами, программная ошибка
— не что иное, как изъян в разработке
программного продукта, который вызывает
несоответствие ожидаемых результатов
выполнения программного продукта и
фактически полученных результатов.
Дефект может возникнуть на стадии
кодирования, на стадии формулирования
требований или на стадии проектирования,
либо же его причина может крыться в
некорректной конфигурации или данных.
Дефектом может быть также что-то другое,
что не соответствует ожиданиям заказчика
и что может быть, а может и не быть
определено в спецификации программного
продукта».
Для исключения Г.
Шилдт дает такое определение: исключение
– это нештатная ситуация , возникающая
во время выполнения последовательности
кода.
Как можно заметить, под понятием
ошибки и исключительной ситуацией можно
подразумевать одно и то же.
Исключение
— это некое специальное событие, которое
сигнализирует об ошибке в программе.
Другими
словами, исключение – это ошибка времени
выполнения.

Классификация
ошибок.

Ошибки
при написании, отладке и работе программ
можно разделить на этапы их времени
возникновения, такие как: ошибки
компиляции, выполнения, компоновки и
логические ошибки.
Ошибки компиляции
обнаруживаются при непосредственной
трансляции исходного кода в объектный
модуль или в машинный код. Невозможно
перейти к стадии времени выполнения
программы, пока не будут ликвидированны
все ошибки стадии компиляции.
Ошибки
выполнения относятся
к самой непредсказуемой группе . Прежде
всего они могут иметь разную природу,
и соответственно по-разному проявляться.
Часть ошибок обнаруживается и
обрабатываются операционной системой. 

Ошибки компоновки, как следует из
названия, связаны с проблемами,
обнаруженными при разрешении внешних
ссылок. В разных языках может осуществляться
на различных этапах.
Логические
ошибки имеют разную природу. Так они
могут следовать из ошибок, допущенных
при проектировании, например, при выборе
методов, разработке алгоритмов или
определении структуры классов, а могут
быть непосредственно внесены при
кодировании модуля.
Ошибки
компиляции:
1. Синтаксические
ошибки.
2. Семантические ошибки.

1. Описания  идентификаторов.

1. Неинициализированный
указатель.
2.
Неинициализированная переменная.

3. Ошибочная инициализация.

2. Статический контроль
типов.
1. Не корректное
присваивание.
2. Не
корректная операция.

3. Не корректная передача параметров.

Ошибки
выполнения:
1. Синхронные ошибки.

1. Ошибки определения данных.

1. Ошибки передачи.
2.
Ошибки преобразования.
3.
Ошибки перезаписи.
4. Ошибочные
данные.
5. Динамический
контроль типов.
6. Ошибки
индексации.
2. Ошибки накопления
погрешностей.
1. Игнорирование
способов уменьшения погрешностей.

2. Переполнение разрядной
сетки.
3. Арифметические ошибки.

4. Ссылочные ошибки.
5. Ошибки
сети.
6. Ошибки ввода/вывода.
2.
Асинхронные ошибки.
1. Ошибки
виртуальной машины.
2. Ошибки системы.

Ошибки
компоновки
1. Ошибки получения
данных по внешним ссылкам.
2.
Объединение модулей
1. Ошибки
обнаружения модулей.
2.
Ошибка состыковки списков параметров
модулей.

Логические
ошибки
1. Ошибки проектирования

1. Неприменимый метод.

2. Неверный алгоритм.

3. Неверная структура данных.
2.
Ошибки кодирования
1.
Некорректное вычисление.

2. Ошибки реализации алгоритмов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Подборка по базе: Строительные материалы и их пожароопасные свойства. Виды, назнач, Савина.Т.А_ПГСБЗ-21-3 Определение гранулометрического состава пе, ДЛЯ УРОКА Алгоритм свойства виды.pptx, Лабораторная работа Определение режимов сварки вариант 30.docx, Понятие и виды государственных пенсий.docx, Понятие и виды социальной защиты населения РФ.docx, Курсовая работа Понятие и виды убийств.doc, Лр№2 Определение содержания хлорида калия.docx, Продуктивные виды деятельности. 2 курс..docx, 10 виды вооружений.docx


Виды ошибок. Определение ошибок ПО. Классификация ошибок

Ошибки в программах могут допускаться от самого начального этапа составления алгоритма решения задачи до окончательного оформления программы. Разновидностей ошибок достаточно много. Рассмотрим некоторые группы ошибок и соответствующие примеры:

Вид ошибки Пример
Неправильная постановка задачи Правильное решение неверно сформулированной задачи
Неверный алгоритм Выбор алгоритма, который привел к неточному или неэффективному решению задачи
Ошибка анализа Неполный перечень ситуаций, которые могут возникнуть при решении задачи, наличие логических ошибок
Семантические ошибки Неправильное понимание порядка выполнение оператора
Синтаксические ошибки Нарушение правил, которые определяются выбранным ЯП
Ошибки при выполнении операций Использование слишком большого числа, деление на ноль, извлечение квадратного корня из отрицательного не комплексного числа и т.д.
Ошибки в данных Неправильно определен возможный диапазон изменения данных
Опечатки Неправильное использование схожих по внешнему виду символов
Ошибки ввода/вывода Неправильное считывание входных данных, неправильное задание форматов данных

Также, ошибки могут относится к самым разным частям кода:

  • ошибки обращения к данным,
  • ошибки описания данных,
  • ошибки вычислений,
  • ошибки при сравнении,
  • ошибки в передаче управления,
  • ошибки ввода-вывода,
  • ошибки интерфейса,

Ошибки


Ошибки выполнения

Ошибки компоновки

Ошибки компиляции

Классификация ошибок по этапу обработки программы

Ошибки выполнения


Ошибки накопления погрешностей

Ошибки определения данных


Логические ошибки


Кодирования

Проектирования

  • Игнорирование ограничений разрядной сетки
  • Игнорирование способов уменьшения погрешности

  • Ошибки передачи
  • Ошибки преобразования
  • Ошибки перезаписи
  • Неправильные данные

  • Некорректная работа с переменными
  • Некорректные вычисления
  • Ошибки межмодульных интерфейсов
  • Неправильная реализация алгоритма

  • Неправильный метод
  • Неверный алгоритм
  • Неверная структура данных

Классификация ошибок этапа выполнения

Ошибки анализа.
Связаны либо с неполным учетом ситуации, которые могут возникнуть, либо с неверным решением задачи.
К первому случаю относятся, например, пренебрежение возможностью появления отрицательных значений переменных, малых и больших величин.
Во втором случае обычно имеют место крупные и мелкие логические ошибки, из которых можно назвать:

  1. Отсутствие заданий начальных значений переменных.
  2. Неверные условия окончания цикла.
  3. Неверную индексацию цикла.
  4. Отсутствие задания условий инициирования цикла.
  5. Неправильное указание ветви алгоритма для продолжения процесса решения задачи.

Ошибки общего характера.
После того, как найден подходящий алгоритм решения задачи, на этапе программирования также могут появиться ошибки, независимо от выбранного языка.
Такими ошибками могут быть:

  • ошибки из-за недостаточного знания или понимания программистом языка программирования или самой машины
  • ошибки, допущенные при программировании алгоритма, когда команды, используемые в программе, не обеспечивают последовательности событий, установленной алгоритмом.

Ошибки физического характера.
Можно назвать несколько типов ошибок, вызываемых неверными действиями разработчика:

  1. Пропуск некоторых операторов.
  2. Отсутствие необходимых данных.
  3. Непредусмотренные данные.
  4. Неверный формат данных.

Большое значение для успешной отладки программы имеют простота и рациональность ее кодирования. Когда программа написана аккуратно и логично, легче избежать ошибок или выявить их в случае возникновения.
Следует избегать возможных «костылей», т.к. чем их больше, тем труднее отладка программы для самого автора, а кто-то другой этого сделать просто не сможет.
Правильность программ.
Любые программы — правильные в отношении их логического построения только для определенного типа данных, поэтому необходимо четко определить область значений данных, в которой программа способна функционировать. Необходимо вводить операторы, позволяющие проверить, находятся ли данные в установленных границах.
Нарушение правильности может проявляться двумя способами:

  • неверная синтаксическая конструкция программы
  • программа выдает неверные результаты

Правильность синтаксиса означает, что должны быть точно сформированы наименования переменных; арифметические и логические операции должны подчиняться определенным синтаксическим правилам и т.п.

Синтаксические ошибки.
Выявление транслятором синтаксических ошибок представляет собой самый важный и необходимый этап отладки программы.
Если под синтаксической ошибкой понимать «всякое нарушение требований языка программирования», то следует признать, что многие ошибки остаются необнаруженными.
В качестве примеров синтаксических ошибок можно назвать:

  • пропуск необходимого знака пунктуации
  • несогласованность скобок
  • пропуск нужных скобок
  • неправильное формирование оператора
  • неверное образование имени переменной
  • неправильное использование арифметических операторов
  • неверное написание зарезервированных слов

Примерами синтаксических ошибок, охватывающих взаимодействие двух или более операторов, могут служить:

  1. Противоречивые команды.
  2. Отсутствие условий окончания цикла.
  3. Дублирование или отсутствие меток.
  4. Отсутствие описания массива.
  5. Запрещенный переход.

Советы по устранению ошибок:

  1. Если ошибок много, то в первую очередь устранить очевидные.
  2. Обратиться к руководству по программированию на данном языке (справка).
  3. Выбрать хороший отладочный компилятор.

Неопределенные переменные.
Распространенными источниками программных ошибок являются неопределенные переменные и переменные, для которых не заданы начальные значения.
Определение начальных значений:

  1. Присваивание.
  2. Ввод.
  3. Чтение из файла.

Разные прогоны программы с одними и теми же данными могут привести к различным результатам.

Обнаружение ошибок.

Ситуации, по которым мы определяем, что в программе есть ошибка:

  1. Отсутствует уверенность в том, что программа начала выполняться.
  2. Программа начала выполняться, но произошел преждевременный останов с выдачей или без выдачи сообщений о системной ошибке.
  3. Программа начала выполняться, но зациклилась.
  4. Программа выдала неправильную информацию.

Любая из этих ситуаций требует проверки последовательности выполнения команд. Обычно для этого пригодна трассировка. Процесс обнаружения ошибок характеризуется выявлением двух мест в программе:

  • точки обнаружения
  • точки происхождения

Точка обнаружения — место в программе, где ошибка себя проявляет или становится очевидной.
Точка происхождения — место в программе, где возникают условия для появления ошибки.
Точка обнаружения выявляется первой и служит отправным пунктом для поиска точки происхождения. Действительная ошибка исходит не из точки обнаружения, а из точки происхождения.

Логическая ошибка, или алогизм, — это ход мысли, нарушающий какие-то законы или правила логики.

Если ошибка допущена неумышленно, ее называют паралогизмом.

Когда ошибка допускается преднамеренно, ее обычно именуют со­физмом, хотя, как увидим далее, многие из софизмов не сводятся к ло­гической ошибке.

Ошибки в доказательствах уже обсуждались. Рассмотрим теперь ошибки в определениях, в делениях (классификациях) и софизмы.

Все определения делятся на неявные и явные.

Явное определение — это определение, имеющее форму равенства двух понятий (определяемого и определяющего).

Неявное определение — определение, не имеющее формы равен­ства двух понятий.

К неявным относятся определения путем указания отрывка текста, в котором встречается определяемое понятие, определения посред­ством показа предмета, подпадающего под это понятие, и т. п. В явных определениях отождествляются, приравниваются друг к другу два имени. Одно — определяемое имя, содержание которого требуется раскрыть, другое — определяющее имя, решающее эту задачу.

Обычное словарное определение гиперболы: «Гипербола — это стилистическая фигура, состоящая в образном преувеличении, напри­мер: „Наметали стог выше тучи“». Определяющая часть выражается словами «стилистическая фигура, состоящая.» и слагается из двух частей. Сначала понятие гиперболы подводится под более широкое понятие «стилистическая фигура». Затем гипербола отграничивает­ся от всех других стилистических фигур. Это достигается указанием признака «образное преувеличение», присущего только гиперболе и отсутствующего у других стилистических фигур, за которые можно было бы принять гиперболу. Явное определение гиперболы дополня­ется примером.

К явным определениям, и в частности к классическим, предъявляется ряд достаточно простых и очевидных требований. Их называют прави­лами определения.

1. Определяемое и определяющее понятия должны быть взаимоза­меняемы. Если в каком-то предложении встречается одно из этих по­нятий, всегда должна существовать возможность заменить его другим. При этом предложение, истинное до замены, должно остаться истинным и после нее.

Для определений через род и видовое отличие это правило форму­лируется как правило соразмерности определяемого и определяющего понятий: совокупности предметов, охватываемые ими, должны быть од­ними и теми же.

Соразмерны, например, имена «гомотипия» и «сходство симметрич­ных органов» (скажем, правой и левой руки). Соразмерны также «гол­кипер» и «вратарь», «нонсенс» и «бессмыслица». Встретив в каком-то предложении слово «нонсенс», мы вправе заменить его на «бессмысли­цу» и наоборот.

Если объем определяющего понятия шире, чем объем опреде­ляемого, говорят об ошибке слишком широкого определения. Та­кую ошибку мы допустили бы, определив, к примеру, ромб просто как плоский четырехугольник. В этом случае к ромбам были бы отнесены и трапеции, и все прямоугольники, а не только те, у которых равны все стороны.

Если объем определяющего понятия уже объема определяемого, имеет место ошибка слишком узкого определения. Такую ошибку допускает, в частности, тот, кто определяет ромб как плоский четы­рехугольник, у которого все стороны и все углы равны. Ромб в этом случае отождествляется со своим частным случаем — квадратом, и из числа ромбов исключаются четырехугольники, у которых не все углы равны.

2. Нельзя определять имя через само себя или определять его через такое другое имя, которое, в свою очередь, определяется через него. Это правило запрещает порочный круг.

Содержат очевидный круг определения «Война есть война» и «Театр — это театр, а не кинотеатр». Задача определения — раскрыть содержание ранее неизвестного имени и сделать его известным. Опреде­ление, содержащее круг, разъясняет неизвестное через него же. В итоге неизвестное так и остается неизвестным. Истину можно, к примеру, оп­ределить как верное отражение действительности, но только при усло­вии, что до этого верное отражение действительности не определялось как такое, которое даст истину.

3. Определение должно быть ясным. Это означает, что в определяю­щей части могут использоваться только имена, известные и понятные тем, на кого рассчитано определение. Желательно также, чтобы в этой части не встречались образы, метафоры, сравнения, т. е. все то, что не предполагает однозначного и ясного истолкования.

Можно определить, к примеру, пролегомены как пропедевтику. Но такое определение будет ясным лишь для тех, кто знает, что пропедевти­ка — это введение в какую-либо науку.

Не особенно ясны определения «Архитектура — это застывшая музыка», «Овал — круг в стесненных обстоятельствах», «Дети — это цветы жизни» и т. п. Они образны, иносказательны, ничего не говорят об определяемом предмете прямо и по существу, каждый человек может понимать их по-своему.

Ясность не является, конечно, абсолютной и неизменной характе­ристикой. Ясное для одного может оказаться не совсем понятным для другого и совершенно темным и невразумительным для третьего. Пред­ставления о ясности меняются и с углублением знаний. На первых порах изучения каких-то объектов даже не вполне совершенное их определение может быть воспринято как успех. Но в дальнейшем первоначальные оп­ределения начинают казаться все более туманными. Встает вопрос о за­мене их более ясными определениями, соответствующими новому, более высокому уровню знания.

Интересно отметить, что наши обычные загадки представляют собой, в сущности, своеобразные определения. Формулировка загадки — это половина определения, его определяющая часть. Отгадка — вторая его половина, определяемая часть. «Утром — на четырех ногах, днем — на двух, вечером — на трех. Что это?» Понятно, что это — человек в разные периоды своей жизни. Саму загадку можно переформулировать так, что она станет одним из возможных его определений.

Контекстуальный характер определений хорошо заметен на некото­рых вопросах, подобных загадкам. Сформулированные для конкретного круга людей, они могут казаться странными или даже непонятными за его пределами.

Древний китайский буддист Дэн Инь-фэн однажды задал такую за­гадку своим ученикам. «Люди умирают сидя и лежа, некоторые умирают даже стоя. А кто умер вниз головой?» — «Мы такого не знаем», — от­ветили ученики. Тогда Дэн встал на голову и. умер.

Сейчас такого рода «загадка» кажется абсурдом. Но в то давнее вре­мя, когда жил Дэн, в атмосфере полемики с существующими обычаями и ритуалом его «загадка» и предложенная им «разгадка» показались вполне естественными. Во всяком случае, его сестра, присутствовав­шая при этом, заметила только: «Живой ты, Дэн, пренебрегал обычаями и правилами и вот теперь, будучи мертвым, опять нарушаешь общест­венный порядок!»

< Предыдущая   Следующая >

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Какие ошибки относятся к грамматическим
  • Какие ошибки обычно приводят к развитию пожаров
  • Какие ошибки обычно делают при надевании противогаза
  • Какие ошибки нельзя допускать при проведении подкожной инъекции сделайте вывод
  • Какие ошибки нельзя допускать при применении грелки

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии