Что делать, если программа не готова обрабатывать ошибки путем перехвата исключений ? Мы можем решить эту проблему с помощью утверждений .
Операторы утверждения очень полезны на этапе отладки кода и обычно используются для ошибок, которые программа не готова обрабатывать путем перехвата исключений.
Например: при возникновении ошибки, например, когда счет торгуется и сумма расходов является положительным числом или сумма дохода является отрицательным числом, программа должна немедленно прекратить выполнение. Позвольте оператору утверждения работать на этапе отладки кода, чтобы вы могли найти некоторые фатальные ошибки. Когда программа официально запущена, вы можете отключить оператор утверждения, но при этом сохранить его в исходном коде, если это необходимо приложению. для повторной отладки в будущем вы можете повторно включить операторы утверждения.
Мы используем ключевое слово Assert для объявления оператора утверждения. Оператор утверждения имеет следующие два формата:
AssertbooleanExpression;//Выражение, которое имеет логический тип. AssertbooleanExpression:messageException;//Выражение, которое возвращает строковый тип.
Если значение истинно, выполнение программы продолжается с оператора утверждения.
Если значение ложно, выполнение программы останавливается на операторе утверждения.
Если значение истинно, выполнение программы продолжается с оператора утверждения.
Если значение ложно, программа прекращает выполнение оператора утверждения и выводит значение выражения messageException, чтобы напомнить пользователю, какая проблема возникла.
Например, для утверждения утверждения:
утверждать>=0;
Если значение выражения i >= 0 истинно, программа продолжает выполнение; если значение выражения i >= 0 ложно, программа немедленно завершает выполнение.
При запуске приложения напрямую с использованием интерпретатора Java операторы утверждения по умолчанию отключены. Вы можете использовать -ea , чтобы включить операторы утверждения при отладке программы, например:
java-eamainclass
Например:
publicclassMain{publicstaticvoidmain(String[]args){int[]score={-120,98,96,94,92};intsum=0;for(intnumber:score){//Используйте for для обхода массива AssertNumber>= 0: отрицательные числа не могут быть оценками;sum=sum+number;}System.out.println(общая оценка:+sum);}}
Результаты бега следующие:
Общий балл: 260