Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!!!!Шпоры орсп.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
133.12 Кб
Скачать

22.Преобразование данных, использующее метод valueOf().

Всего есть три преобразования:

Cтроковое преобразование.

Числовое преобразование.

Преобразование к логическому значению

Строковое преобразование происходит, когда требуется представление чего-либо в виде строки. Например, его производит функция alert. Можно также осуществить преобразование явным вызовом String(val).

Численное преобразование происходит в математических функциях и выражениях, а также при нестрогом сравнении данных различных типов. Для преобразования к числу в явном виде можно вызвать Number(val), либо, что короче, поставить перед выражением оператор "+".

Преобразование к true/false происходит в логическом контексте, таком как if(obj), while(obj) и при применении логических операторов. Все значения, которые интуитивно близки к «ничто», становятся false. Например: 0, пустая строка, null, undefined, NaN. Остальные, в том числе и любые объекты — true. Два значения могут быть равны, но одно из них в логическом контексте true, другой — false.

Преобразование к логическому значению.

Для численного преобразования объекта используется метод valueOf (возвращающий примитив), а если его нет — то toString:

var room = {

number: 777,

valueOf: function() { return this.number; },

toString: function() { return this.number; }

}

alert( +room ); // 777, вызвался valueOf

delete room.valueOf;

alert( +room ); // 777, вызвался toString

Метод valueOf обязан возвращать примитивное значение, иначе его результат будет проигнорирован. При этом — не обязательно числовое.

У большинства встроенных объектов такого valueOf нет, поэтому численное и строковое преобразования для них работают одинаково.

.

23. Основные принципы обработки исключений. Типы исключений.

Исключительная ситуация – это аварийная ситуация, которая может возникнуть во время выполнения программы.

В Java исключительные ситуации могут генерироваться либо исполнительной системой Java (фундаментальные ошибки), либо программным кодом (вручную).

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

Все исключительные ситуация можно поделить на 2 категории:

  • обрабатываемые (checked). Все исключения, порожденные от java.lang.Exception. Т.е. Во время компиляции проверяется - предусмотрена ли обработка возможных исключительных ситуаций.

  • не обрабатываемые (unchecked). Порожденные от java.lang.RubTimeException. Компилятор не требует обязательной их обработки

24. Использование операторов try и catch, множественные операторы catch.

В некоторых случаях один фрагмент кода может инициировать более одного исключения. Чтобы справиться с такой ситуацией, вы можете специфицировать два или более операторов catch, каждый для перехвата своего типа исключений. Когда возбуждается исключение, каждый оператор catch проверяется по порядку, и первый из них, чей тип соответствует исключению, выполняется. После того, как выполнится один из операторов catch, все остальные пропускаются, и выполнение программы продолжается с места, следующего за блоком try/catch