0

私はいくつかの大学ラボワークに取り組んでいます。Real.txtファイルはsrcディレクトリから読み込む必要があります。どの情報がtestEceptionsメソッドに渡されても、IOExceptionが発生します。それはおそらく単純なものですが、私の頭は大学の仕事の日から溶けています。srcディレクトリのjava読み込みファイルの問題

import java.awt.EventQueue; 
import javax.swing.JFrame; 
import javax.swing.JOptionPane; 
import javax.swing.JPanel; 
import javax.swing.border.EmptyBorder; 
import javax.swing.JButton; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import java.io.FileReader; 
import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URL; 

public class TestFourExceptionsGUI extends JFrame 
{ 
    private JPanel contentPane; 

    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) 
    { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() 
      { 
       try { 
        TestFourExceptionsGUI frame = new TestFourExceptionsGUI(); 
        frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    /** 
    * Create the frame. 
    */ 
    public TestFourExceptionsGUI() 
    { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 450, 300); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     setContentPane(contentPane); 
     contentPane.setLayout(null); 

     JButton btnTestIoexception = new JButton("Test IOException"); 
     btnTestIoexception.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
      { 
       System.out.println("I am here"); 
       testExceptions("Hi", "Whatever.txt", "http://www.itb.ie", false); 
      } 
     }); 
     btnTestIoexception.setBounds(115, 50, 180, 23); 
     contentPane.add(btnTestIoexception); 

     JButton btnTestUrlException = new JButton("Test Url Exception"); 
     btnTestUrlException.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
      { 
       testExceptions("", "Real.txt", "http://www.itb.ie", false); 
      } 
     }); 
     btnTestUrlException.setBounds(115, 99, 180, 23); 
     contentPane.add(btnTestUrlException); 

     JButton btnTestNullpointerexception = new JButton("Test NullPointerException"); 
     btnTestNullpointerexception.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
      { 
       testExceptions("Hi", "Real.txt", "http://www.itb.ie", false); 
      } 
     }); 
     btnTestNullpointerexception.setBounds(115, 152, 180, 23); 
     contentPane.add(btnTestNullpointerexception); 

     JButton btnGeneralException = new JButton("Test General Exception"); 
     btnGeneralException.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
      { 
       testExceptions("","Real.txt","http://www.itb.ie", true); 
      } 
     }); 
     btnGeneralException.setBounds(115, 200, 180, 23); 
     contentPane.add(btnGeneralException); 
    } 

    private static final Object URL = null; 

    public void testExceptions(String str, String url, String filename, boolean generalexceptionActivated) 
    { 
     try { 
      str.toCharArray(); //Null string potential error 
      new FileReader(filename); //Unknown filename potential error 
      new URL(url); //Badly written URL potential error 
      if (generalexceptionActivated) { //Potential error 
       this.clone(); //Will be caught as a general error! 
      } 
     } catch (MalformedURLException e) { 
      JOptionPane.showMessageDialog(null, "A URL has been badly written " + e.getMessage(), null, JOptionPane.INFORMATION_MESSAGE); 
     } catch (IOException e) { 
      JOptionPane.showMessageDialog(null, "An IOException has been caught " + e.getMessage(), null, JOptionPane.INFORMATION_MESSAGE); 
     } catch (NullPointerException e) { 
      JOptionPane.showMessageDialog(null, "A NullPOinter Exception has been caught " + e.getMessage(), null, JOptionPane.INFORMATION_MESSAGE); 
     } catch (Exception e) { 
      JOptionPane.showMessageDialog(null, "A General Exception has been caught " + e.getMessage(), null, JOptionPane.INFORMATION_MESSAGE); 
     } finally { 
      JOptionPane.showMessageDialog(null, "The finally block has been called ", null, ERROR); 
     } 
    } 
} 

の例外がある:あなたの助けみんなのため

 
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: JOptionPane: type must be one of JOptionPane.ERROR_MESSAGE, JOptionPane.INFORMATION_MESSAGE, JOptionPane.WARNING_MESSAGE, JOptionPane.QUESTION_MESSAGE or JOptionPane.PLAIN_MESSAGE 
+0

を解決しました注文。このメソッドはstring、url、filenameを取りますが、文字列、filename、urlを与えているようです。 – hoipolloi

+0

おかげさまhuipoloi私はそれが何か単純だったと思う – PaddyOTG

答えて

0

おかげで以下の編集は、あなたは間違って(..)引数をtestExceptionsを渡しているように見える問題

JButton btnTestIoexception = new JButton("Test IOException"); 
    btnTestIoexception.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      testExceptions("Hi","http://www.itb.ie","Whatever.txt", false); 
     } 
    }); 
    btnTestIoexception.setBounds(115, 50, 180, 23); 
    contentPane.add(btnTestIoexception); 

    JButton btnTestUrlException = new JButton("Test Url Exception"); 
    btnTestUrlException.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      testExceptions("Hi","","Real.txt", false); 
     } 
    }); 
    btnTestUrlException.setBounds(115, 99, 180, 23); 
    contentPane.add(btnTestUrlException); 

    JButton btnTestNullpointerexception = new JButton("Test NullPointerException"); 
    btnTestNullpointerexception.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
       testExceptions(null,"http://www.itb.ie","Real.txt",false); 
     } 
    }); 
    btnTestNullpointerexception.setBounds(115, 152, 180, 23); 
    contentPane.add(btnTestNullpointerexception); 

    JButton btnGeneralException = new JButton("Test General Exception"); 
    btnGeneralException.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      testExceptions("","http://www.itb.ie","Real.txt", true); 
     } 
    }); 
関連する問題