Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231

Исключение при передаче аргумента со значением null

04.08.2017, 11:44. Показов 878. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, не могу разобраться в этих исключениях:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Main {
    public void fun(Object o)
    {
        System.out.println("Object");
    }
 
    public void fun(java.io.FileNotFoundException f)
    {
        System.out.println("FileNotFoundException");
    }
    public void fun(java.io.IOException i)
    {
        System.out.println("IOException");
    }
 
    public static void main(String[] args) {
        Main test = new Main();
        test.fun(null);
    }
}
Почему сработает FileNotFoundException исключение?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.08.2017, 11:44
Ответы с готовыми решениями:

Исключение при передаче в table adapter null в качестве параметра
Добрый день. Ребят подскажите пожалуйста, у меня есть хранимая процедура, приблизительный код которой ALTER PROCEDURE . @Id ...

Ошибка при вызове функции и передаче аргумента
Нужно, чтобы js менял дату публикации на "сегодня", если новость опубликована сегодня. вот строчка из кода html. В $day дата публикации...

Ideone - исключение при передаче параметра
Пробую на ideone.com ввести параметр args - кот, пишет Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0. ...

1
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
04.08.2017, 13:10
Helldrg, не совсем понимаю что вы хотите продемонстрировать этим примером, но ответ на ваш вопрос скрывается в том что FileNotFoundException унаследован от IOException, а IOException в свою очередь наследуется от Object. Когда вы передаете null в качестве параметра, то выбирается метод с самым "широким" типом.

Чуть более наглядно

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Main {
 
    public static void main(String[] args) {
        Main test = new Main();
        test.fun(null);
        test.fun(new A());
        test.fun(new B());
        test.fun(new C());
    }
 
    public void fun(A a) {
        System.out.println("Main.fun >> A");
    }
 
    public void fun(B b) {
        System.out.println("Main.fun >> B");
    }
 
    public void fun(C c) {
        System.out.println("Main.fun >> C");
    }
 
 
}
 
class A {
 
}
 
class B extends A{
 
}
 
class C extends B {
 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.08.2017, 13:10
Помогаю со студенческими работами здесь

Исправить ошибку при передаче аргумента методу Range
Здравствуйте! Подскажите , кто знает, почему мой макрос не работает? В таблице необходимо создать столбец " Результат" ...

При передаче указателя в качестве аргумента функции теряется значение
Добрый день. Есть простенькая задачка сделать связанный список. При этом создается первый эелемнт списка с нулевым указателем на...

Конвертация между rvalue и lvalue при передаче аргумента в функцию
Как это конвертируется если я обявил аргумент типа lvalue а передаю обьект rvalue ? #include <iostream> #include...

Странное поведение в Bash при передаче float аргумента программе
Добрый день. Столкнулся с такой проблемой в Debian Linux 10.1. В шелле Bash на macOS Catalina 10.15.2 такой проблемы не было вообще. ...

Получение значений функцией (что происходит при передаче аргумента по значению/ссылке)
Разъясните, пожалуйста, пояснение в скобках


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru