В гипотетической ситуации, у меня есть класс вроде этого:Может ли статический код блокировать исключения?
import java.io.File;
import java.util.Scanner;
class X
{
static Scanner scanner;
static
{
scanner = new Scanner(new File("X.txt"));
}
}
При компиляции, я получаю
незарегистрированный Exeption
java.io.FileNotFoundException
; должны быть пойманы или объявлены брошенными
т.к. public Scanner(File source) throws FileNotFoundException
.
Чтобы это исправить, я могу поставить scanner = new...
линии в Try/поймать заявление:
static
{
try
{
scanner = new Scanner(new File("X.txt"));
}
catch(Exception e)
{
e.printStackTrace();
}
}
Однако, есть ли способ, что я могу сделать что-то вроде:
static throws java.io.FileNotFoundException
{
scanner = new Scanner(new File("X.txt"));
}
Это является гипотетическая ситуация. Пожалуйста, не говорите «хорошо, почему вы хотите это сделать?» или «Вот лучший способ сделать сканер!»
Честно говоря, я не вижу здесь проблемы. –