已经发现异常,仍然会出错

时间:2012-04-19 20:11:37

标签: java exception

我正在尝试设置GUI的外观和感觉。我已经捕获了UnsupportedLookAndFeelException,但是当我编译时,我得到一个错误,指出必须捕获或声明要抛出UnsupportedLookAndFeelException。错误在这一行:Ne r = new Ne();

以下是代码:

public static void main(String[] args)  {

   try{
      UIManager man = new UIManager();
      man.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel")  ;
   }
   catch(UnsupportedLookAndFeelException ex){}
   catch(Exception ex){}

   SwingUtilities.invokeLater(new Runnable() {
      public void run()  {
         Ne r = new Ne();
         r.setVisible(true);
      }
   });
}

2 个答案:

答案 0 :(得分:3)

我建议在try catch语句上阅读更多内容:

http://docs.oracle.com/javase/tutorial/essential/exceptions/

总而言之,似乎并非所有可以抛出异常的代码都被try.catch块包围

如果Ne r = new Ne()出错,请将其移至try catch语句中。

public static void main(String[] args)  {

   try{
      UIManager man = new UIManager();
      man.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel")  ;
      SwingUtilities.invokeLater(new Runnable() {
         public void run()  {
            Ne r = new Ne();
            r.setVisible(true);
         }
      });
   }
   catch(UnsupportedLookAndFeelException ex){}
   catch(Exception ex){}
}

如果你使用像eclipse这样的IDE,它会有一些错误修复方法,它们会包含你需要的代码,这是一个很好的开始,可以找出需要在try catch块中设置的内容

答案 1 :(得分:0)

我无法看到您的代码如何捕获新Ne()抛出的UnsupportedLookAndFeelException。为什么不把try-catch放在合适的水平?即:

public void run()
{
    try
    {
        Ne r = new Ne();
        r.setVisible(true);

    } catch (UnsupportedLookAndFeelException e)
    {
       // Put some code here to do the right thing.
    }
 }