Проблемы с множественным уловом

1

Я скопировал что-то из другого класса, и все же он дал мне ошибку, хотя это не было в оригинале. Здесь код:

package com.dinobuilding;

import java.awt.EventQueue;
import java.awt.FontFormatException;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.ImageObserver;
import java.io.IOException;

import javax.swing.*;

public class Window {

public static int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
public static int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;

public static ImageIcon background = new ImageIcon("resources/images/Background.png");

public static ImageObserver observer;

public Window() {
    EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            JFrame frame = new JFrame("DinoBuilding");

            try {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
                ex.printStackTrace();
            }

            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frame.setResizable(false);
            frame.pack();
            frame.setSize(screenWidth, screenHeight);
            frame.setVisible(true);
        }
    });
}

public static void main(String[] args) {
    new Window();
}

}

Я, наверное, испортил что-то действительно тривиальное, но он не перестанет говорить мне, что "Multi-уловы не поддерживаются на этом языковом уровне". Если вам нужна дополнительная информация, которую я, вероятно, забыл упомянуть, просто спросите. Заранее спасибо!

  • 0
    У вас есть переключатель в командной строке или IDE, который установлен на Java версии 1.6 или ниже. Multicatch требует 1,7 или выше.
Теги:
intellij-idea

2 ответа

4
Лучший ответ

Операции с несколькими catch поддерживаются только в версиях Java 7 и более поздних версий, убедитесь, что вы не используете версию ниже. Проверьте это, чтобы узнать, как вы можете изменить уровень языка Project в IDEA. Я предполагаю, что у вас есть Java 7 или более высокая версия, установленная в вашей системе, если вы не пойдете и не получите последнюю версию Java

  • 0
    Спасибо, но я скопировал его из той же IDE, так что это не имеет смысла.
  • 0
    @LordMastodon Ну, я заметил это и в IDEA. Я не знаю, есть ли способ сказать IDEA использовать определенную версию языка по умолчанию
Показать ещё 10 комментариев
1

Множественные уловы, такие как catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) поддерживаются только с Java 7 и далее. Я считаю, что ваш JDK/Java compliter раньше, чем JDK1.7. http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html

Пожалуйста, проверьте это. Если возможно, перейдите на JDK 1.7. Else использовать блок catch как следующий...

try {
  // Do something
} catch (ClassNotFoundException ex) {
  // Do something
} catch(InstantiationException ex) {
 // Do something
} catch(IllegalAccessException ex) {
 // Do something
} catch(UnsupportedLookAndFeelException ex) {
 // Do something
} 

Ура!

  • 0
    Но это не дало мне никаких ошибок в оригинальном проекте, который был сделан в той же IDE.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню