Скажите компилятору, что без исключения нет пути? ⇐ JAVA
Скажите компилятору, что без исключения нет пути?
int foo () throws Exception
{
try
{
return 0;
}
catch (Exception e)
{
bar (); // error
}
}
void bar () throws Exception
{
throw new Exception ();
}
< /code>
Это не удается < /p>
foo: Этот метод должен вернуть int < /p>
< /blockquote>
Таким образом, компилятор не признает, что нет никакого способа, чтобы бар не бросал исключение. < /p>
Как лучше всего справиться с этим? < /p>
Я думаю об этом (вернуть null - даже этого никогда не может произойти - но делает компилятор счастливым). < /p>
int foo () throws Exception
{
try
{
return 0;
}
catch (Exception e)
{
bar ();
return 0; // ok now for the compiler
}
}
< /code>
Я не уверен, что это красота. Есть другие идеи об этом, лучшая практика?
Подробнее здесь: https://stackoverflow.com/questions/794 ... -exception
int foo () throws Exception
{
try
{
return 0;
}
catch (Exception e)
{
bar (); // error
}
}
void bar () throws Exception
{
throw new Exception ();
}
< /code>
Это не удается < /p>
foo: Этот метод должен вернуть int < /p>
< /blockquote>
Таким образом, компилятор не признает, что нет никакого способа, чтобы бар не бросал исключение. < /p>
Как лучше всего справиться с этим? < /p>
Я думаю об этом (вернуть null - даже этого никогда не может произойти - но делает компилятор счастливым). < /p>
int foo () throws Exception
{
try
{
return 0;
}
catch (Exception e)
{
bar ();
return 0; // ok now for the compiler
}
}
< /code>
Я не уверен, что это красота. Есть другие идеи об этом, лучшая практика?
Подробнее здесь: https://stackoverflow.com/questions/794 ... -exception
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение