Почему нет исключения при создании некорректного объекта Path ?
Решен
Всем привет! Обычно, когда я ввожу некорректный путь, IDEA кидает исключение InvalidPathException. На скриншоте путь явно некорректный (для любой ОС), но ошибки нет. Подскажите, почему?
0
Комментарии (8)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
У тебя некорректный путь, каким образом ты это понял, ты сделал Path передал в конструктор string и попросил system вывести Path в консоль всё красиво. А вот если бы ты захотел прочитать файл по этому пути, то тогда мы они тебе сказали инвалид.
Ада, ну ты открой хоть аннотацию к исключению :)
Там же написано, что оно выбрасывается при наличии нелегальных символов в строке. Если там есть двоеточие, и это не индекс тома, то из строки нельзя получить путь к файлу, и выбрасывается исключение.
А если строка состоит только из валидных символов, то её можно преобразовать к пути, тогда исключения не будет. По крайней мере пока ты не попытаешься обратиться к несуществующему файлу.
Это я прочитала, но не поняла, как так выходит, то мы до момента обращению к файлу проверяем его "адекватность", то только в момент обращения. Но ты мне помог разобраться (как и Александр). Видимо, есть вещи, которые IDEA на пороге пресекает (наличие невалидных символов), а все остальные тонкости проверяются уже в момент обращения к файлу)
Раз уж об этом зашла речь...
Правильно ли я понимаю об области ошибок:
1) Если мы получаем ошибку во время выполнения программы, это есть ошибка в рантайме? О ней, получается, сообщает сама программа?
2) Если у нас в IDEA ерунда, которую мы пишем подчеркнута красной линией, то тут уже ошибка на этапе компиляции, и о ней уже нам сообщает IDEA?
Этот веб-сайт использует данные cookie, чтобы настроить персонально под вас работу сервиса. Используя веб-сайт, вы даете согласие на применение данных cookie. Больше подробностей — в нашем Пользовательском соглашении.