本人定义一个类,部分代码如下:
class SaveJPanel extends JPanel implements ActionListener
{
private RandomAccessFile raf=new RandomAccessFile("file.txt","rw");
private JTextField id=new JTextField(4);
private JTextField name=new JTextField(8);
private JTextField tel=new JTextField(11);
private JTextField email=new JTextField(37);
private JButton jbsave=new JButton("Save");
public SaveJPanel()
     ……
     ……

其中的第一个私有变量“raf"的定义,编译器提示可能产生一个"找不到文件"的异常,需要捕获或抛出,但我用try-catch进行捕获,它又说不合法,那么请问对于这个问题应该怎么处理?本人是初学者。我是这样改的:class SaveJPanel extends JPanel implements ActionListener
{
try
  {
        private RandomAccessFile raf=new RandomAccessFile("file.txt","rw");
  }
catch(Exception ex)
{
ex.printStackTrace();
}
private JTextField id=new JTextField(4);
private JTextField name=new JTextField(8);
private JTextField tel=new JTextField(11);
private JTextField email=new JTextField(37);
private JButton jbsave=new JButton("Save");
public SaveJPanel()
     ……
     ……

解决方案 »

  1.   

    import java.io.RandomAccessFile;
    import javax.swing.JPanel;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.io.FileNotFoundException;
    public class SaveJPanel extends JPanel implements ActionListener{
    public void fileTest(){
    try{
    RandomAccessFile raf=new RandomAccessFile("xx.txt","rw");
    }catch(FileNotFoundException e) {
    }
    }
    public void actionPerformed(ActionEvent e) {
    }
    }
      

  2.   

    你的try...catch...直接放在类里面肯定是不行的啊。要么你就像楼上的回复那样放在一个方法里面。
    或者你也可以放在一个static块里面。
    public class SaveJPanel extends Jpanel implements ActionListener
    {
        static{
            try{
                RandomAccessFile raf=new RandomAccessFile("xx.txt","rw");
                //......do something
            }
            catch(FileNotFoundException e) {
            }    }
    }