Исключения всплывают в стеке.Если вызывающая сторона вызывает метод, который генерирует проверенное исключение, такое как IOException, он также должен либо перехватить исключение, либо сам выбросить его.
В случае первого блока:
filecontent()
{
setGUI();
setRegister();
showfile();
setTitle("FileData");
setVisible(true);
setSize(300, 300);
/*
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
*/
}
Вы должны будете включить блок try catch:
filecontent()
{
setGUI();
setRegister();
try {
showfile();
}
catch (IOException e) {
// Do something here
}
setTitle("FileData");
setVisible(true);
setSize(300, 300);
/*
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
*/
}
В случае второго:
public void actionPerformed(ActionEvent ae)
{
if (ae.getSource() == submit)
{
showfile();
}
}
Вы не можете выбросить IOException из этого метода, так как его сигнатура определяетсяинтерфейс, поэтому вы должны перехватить исключение внутри:
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==submit)
{
try {
showfile();
}
catch (IOException e) {
// Do something here
}
}
}
Помните, что метод showFile () вызывает исключение;это то, что ключевое слово throws указывает, что метод может вызвать это исключение.Если метод showFile () выбрасывает, то любой код, вызывающий этот метод, должен перехватить, или они сами генерируют исключение, включая то же добавление IOException throws к сигнатуре метода, если это разрешено.переопределяя сигнатуру метода, определенную в интерфейсе или суперклассе, который также не объявляет, что метод может вызвать это исключение, вы не можете объявить его как исключение.