К. Арнольд, Д. Гослинг - Язык программирования Java (1160779), страница 28
Текст из файла (страница 28)
Это же исключение сигнализирует о передаче методу параметра null,если для данного параметра это значение является недопустимым. Используется аналогично IllegalArgumentException.NumberFormatException extends IllegalArgumentExceptionНеверное содержимое строки, в которой должно было находиться число. Исключение возбуждается такими методами, как Integer.parseInt.SecurityException extends RuntimeExceptionПопытка выполнения действия, запрещенного системой безопасности — обычно объектом SecurityManager для текущего runtimeконтекста.Б.2 Классы ErrorAbstractMethodError extends IncompatibleClassChangeErrorВызван абстрактный метод. Это может произойти лишь в очень редких случаях, так что вы никогда не столкнетесь с этимисключением.ClassFormatError extends LinkageErrorЗагружаемый класс или интерфейс имеет неверный формат (обычно это связано с использованием “преобразованных” (mangled)имен).IllegalAccessError extends IncompatibleClassChangeErrorИсключение неразрешенного доступа.IncompatibleClassChangeError extends linkageErrorПри загрузке класса или интерфейса было обнаружено изменение, несовместимое с информацией об этом классе илиинтерфейсе.
Например, в период времени между компиляцией класса и компиляцией использующей его программы, из классабыл удален незакрытый метод.InstantiationError extends IncompatibleClassChangeErrorИнтерпретатор попытался создать объект абстрактного класса или интерфейса.InternalError extends VirtualMachineErrorПроизошел внутренний сбой runtime-системы. В нормальных условиях такая ошибка не должна возникнуть.LinkageError extends ErrorИсключения класса LinkageError и его подклассов означают, что класс тем или иным образом зависит от другого класса и что связьмежду ними не может быть установлена.NoClassDefFoundError extends LinkageErrorНужный класс не найден.NoSuchFieldError extends IncompatibleClassChangeErrorПоле отсутствует в классе или интерфейсе.NoSuchMethodError extends IncompatibleClassChangeErrorМетод отсутствует в классе или интерфейсе.OutOfMemoryError extends VirtualMachineErrorНехватка памяти.StackOverflowError extends VirtualMachineErrorПереполнение стека.
Может свидетельствовать о бесконечной рекурсии.ThreadDeath extends ErrorИсключение ThreadDeath возбуждается потоком-“жертвой” при его уничтожении методом thread.stop. Если исключениеThreadDeath перехватывается, его необходимо возбудить повторно, чтобы поток был уничтожен. Если ThreadDeath неперехватывается, то обработчик ошибок верхнего уровня не выводит никаких сообщений.UnknownError extends VirtualMachineErrorПроизошла неизвестная, но серьезная ошибка.UnsatisfiedLinkError extends LinkageErrorОшибка связывания внутри родного метода.
Обычно это означает, что библиотека, реализующая родной метод, содержитнеопределенные символы, которые не были найдены ни в одной библиотеке.VerifyError extends LinkageErrorПроизошла ошибка верификации — то есть во время загрузки класс не прошел проверку, в ходе которой обычно выясняется ненарушает ли класс каких-нибудь требований безопасности Java.VirtualMachineError extends ErrorНарушена работа виртуальной машины, или наблюдается нехватка ресурсов.Содержание | ДалееПриложение ВПолезные таблицыТаблица 1. Ключевые словаabstractdoubleintsuperbooleanelseinterfaceswitchbreakextendslongsynchronizedbytefinalnativethiscasefinallynewthrowcatchfloatpackagethrowscharforprivatetransientclassgotoprotectedtryconstifpublicvoidcontinueimplementsreturnvolatiledefaultimportshortwhiledoinstanceofstaticКлючевые слова, помеченные символом , в настоящее время не используютсяТаблица 2.
Специальные символы, содержащие \ПоследовательностьЗначение\nпереход на новую строку (\u000A)\tтабуляция (\u0009)\bзабой (\u0008)\rввод (\u000D)\fподача листа (\u000C)\\обратная косая черта (\u005C)\’апостроф (\u0027)\"кавычка (\u0022)\dddсимвол в восьмеричном представлении, где каждое d соответствует восьмеричной цифре от 0 до7\udddсимвол Unicode, где каждое d соответствует шестнадцатеричной цифре (0–9, a–f, A–F)Таблица 3. Приоритет операторовпостфиксные операторы[] . (параметры) expr++ expr--унарные операторы++expr --expr +expr -expr ~ !создание и преобразованиетипаnew (тип)exprоператоры умножения/деления*/%операторы сложения/вычитания+-операторы сдвига<<<< >>>> >>>>>>операторы отношения<< >> >>= <<= instanceofоператоры равенства== !=поразрядное И&поразрядное исключающее ИЛИ^поразрядное включающее ИЛИ|логическое И&&логическое ИЛИ||условный оператор?:операторы присвоения= += -= *= /= %= >>>>= <<<<= >>>>>>= &= ^= |=Таблица 4.
Цифры UnicodeUnicodeОписание\u0030–\u0039Цифры ISO-latin-1 (и ASCII)\u0660–\u0669Арабско-индийские цифры\u06f0–\u06f9Восточные арабско-индийские цифры\u0966–\u096fЦифры деванагари\u09e6–\u09efЦифры бенгали\u0a66–\u0a6fЦифры гурмукхи\u0ae6–\u0aefЦифры гуджарати\u0b66–\u0b6fЦифры ория\u0be7–\u0befТамильские цифры (только девять — безнуля)\u0c66–\u0c6fЦифры телугу\u0ce6–\u0cefЦифры каннада\u0d66–\u0d6fМалайские цифры\u0e50–\u0e59Тайские цифры\u0ed0–\u0ed9Цифры лао\uff10–\uff19Цифры полной шириныТаблица 5.
Буквы и цифры Unicode\u0041–\u005aБуквы верхнего регистра ISO-latin-1 и ASCII ('A'–'Z')\u0061–\u007aБуквы нижнего регистра ISO-latin-1 и ASCII ('a'–'z')\u00c0–\u00d6Дополнительные буквы ISO-latin-1\u00d8–\u00f6Дополнительные буквы ISO-latin-1\u00f8–\u00ffДополнительные буквы ISO-latin-1\u0100–\u1fffРасширенная кодировка Latin-A, расширенная кодировка Latin-B, расширения IPA, буквы-модификаторы интервалов,диакритические знаки, базовый греческий алфавит, греческий и коптский алфавиты, кириллица, армянский, ивритрасширенный-A, базовый иврит, иврит расширенный-B, базовый арабский, расширенный арабский, деванагари, бенгали,гурмукхи, гуджарати, ория, тамильский, телугу, каннада, малайский, тайский, лао, базовый грузинский, расширенныйгрузинский, хангульский, латинский расширенный дополнительный, греческий расширенный\u3040–\u9fffХирагана, катакана, бопомофо, хангульский совместимый, CJK, символы и месяцы CJK, CJK совместимый, хангульский,хангульский дополнительный-A, хангульский дополнительный-B, единые идеографы CJK\uf900–\ufdffСовместимые идеографы CJK, алфавитные формы, арабские презентационные формы-A\ufe70–\ufefeАрабские презентационные формы-B\uff10–\uff19Цифры полной ширины\uff21–\uff3aЛатинский полной ширины, верхний регистр\uff41–\uff5aЛатинский полной ширины, нижний регистр\uff66–\uffdcКатакана и хангульский половинной шириныПримечание: Символ Unicode является буквой или цифрой, если он принадлежит одному из диапазонов, содержащихся в таблице, и такжеопределен как символ Unicode.Примечание: Символ Unicode является буквой, если он присутствует в таблице “Буквы и цифры Unicode”, но отсутствует в таблице “ЦифрыUnicode”.Таблица 6.
Java 1.0 и Java 1.0.2: Отличия между Java 1.0 и Java 1.0.2, существенные для данной книги (с разделами, к которым ониотносятся)●●●●●●Константы MIN_VALUE и MAX_VALUE класса Character в Java 1.0 ошибочно присутствовали в классе Boolean. См. раздел 13.5.В классах String и Character в Java 1.0 некоторые свойства символов (принадлежность к верхнему/нижнему регистру, цифрам и т.д.)определялись только для подмножества символов Unicode, принадлежащего к набору ISO-Latin-1 (с \u0000 по \u00ff); все символы запределами этого диапазона считались буквами без регистра. Кроме того, отсутствовали методы класса Character, возвращавшие сведениео классе символа помимо принадлежности к верхнему или нижнему регистру (например, методы заглавного регистра и isLetter). См.раздел 8.2, раздел 8.4 и раздел 13.5.Java 1.0 не гарантирует, что литералам String с одинаковыми значениями соответствуют одинаковые ссылки, хотя иногда это было так.См. раздел 8.2.Список букв и цифр, используемых в идентификаторах Java 1.0, несколько отличается от списка Java 1.0.2 за пределами диапазона ISOLatin-1.
См. табл. 4 и табл. 5.В Java разрешалась (и даже ошибочно наделялась смыслом) комбинация ключевых слов private protected.Классы-оболочки Integer и Long в Java 1.0 не содержали методов toHexString, toOctalString и toBinaryString.
См. раздел 13.7 и раздел 13.8.СодержаниеГлава 3РАСШИРЕНИЕ КЛАССОВВы поймете меня, если я скажу, что могу проследить свою родословную вплоть до частиц первичной протоплазмы.Гильберт и Салливан, The MikadoВо время экскурсии мы кратко познакомились с тем, как происходит расширение, или субклассирование, благодаря которому расширенный классможет использоваться вместо исходного.