CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

我处女作,有几个问题搞不定,大家帮忙!

楼主JPower_pro(J动力)2005-10-01 13:03:06 在 Java / J2SE / 基础类 提问

学习J两个月了,想写一个通讯录的程序,但是遇到了点麻烦,请个位帮忙!  
  问题:  
          我的代码在编译的时候总是出现    
          unreported   exception   java.lang.Exception:must   be   caught   or   decleared   to   be   thrown  
          如果在对应的事件函数后面加上   throws   Exception   以后有会出现:  
          *   cannot   implemnt   *(java.awt.event.*)   (*指的是某个函数)  
  下面是我的源代码(未完成,有点乱),拜托大家帮帮忙!谢谢了!  
  顺便问一下,关于java的差错控制的机制是怎么样的?  
   
  import   java.awt.*;  
  import   javax.swing.*;  
  import   java.awt.event.*;  
  import   java.io.*;  
   
   
  public   class   Messagelist   extends   JFrame   {  
  //     变量表预留空间//  
  private   JMenuBar   bar;  
  private   JMenu   creat,sear,dele,help;  
  private   JMenuItem   cGroup,cPerson,dGroup,dPerson,about,exit;  
  private   JLabel   name,sex,group,mNumber,pNumber,zip,addr,email,tip,qq;  
  private   JButton   updata,del,addTG;  
  private   JComboBox   sGroup;  
  private   JList   nameList;  
  private   JPanel   innerWest,panel1,panel2;  
  private   JTextField   nameField,sexField,groupField,mNumberField,pNumberField,  
                                        zipField,qqField,emailField;  
  private   JTextArea   tipArea,addrArea;  
  private   String   groupName,pName,pSex,pGroup,pmNumber,ppNumber,pZip,pAddr,pEmail,  
                                pTip,pQQ;  
  private   GridLayout   grid;  
  private   RandomAccessFile   gInfo,pInfo;  
  private   Pocessor   pocessor=new   Pocessor();  
  private   Record   records[]=new   Record[50];  
  private   String   nameString[]=new   String[50];  
          private   int   pastSelection=-1;  
  //private   Icon   updataI;  
          public   Messagelist()     throws   Exception     //建立用户界面//  
          {  
          super("通讯录   v1.0");  
          creat=new   JMenu("新建");  
          creat.setMnemonic('N');  
          cGroup=new   JMenuItem("通信组");  
          cGroup.setMnemonic('G');  
          cGroup.addActionListener(  
          new   ActionListener()   {  
          public   void   actionPerformed(ActionEvent   E)  
          {  
          pocessor.addGroup();  
          }  
          }  
          );  
           
           
          cPerson=new   JMenuItem("联系人");  
          cPerson.setMnemonic('P');  
          cPerson.addActionListener(  
          new   ActionListener()   {  
          public   void   actionPerformed(ActionEvent   E)  
          {  
          pocessor.addPersonDialog();  
          }  
          }  
          );  
          exit=new   JMenuItem("退出");  
          exit.setMnemonic('X');  
                  exit.addActionListener(  
                  new   ActionListener()   {  
                  public   void   actionPerformed(ActionEvent   E)  
                  {  
                  pocessor.exit();  
                          }  
                    }  
                  );  
                   
                   
                  creat.add(cGroup);  
          creat.add(cPerson);  
          creat.add(exit);  
           
          sear=new   JMenu("查找");  
          sear.setMnemonic('S');  
          sear.addActionListener(  
          new   ActionListener()   {  
          public   void   actionPerformed(ActionEvent   E)  
          {  
          //sear();  
          }  
          }  
          );  
           
           
          dele=new   JMenu("删除");  
          dele.setMnemonic('D');  
          dGroup=new   JMenuItem("通讯组");  
          dGroup.setMnemonic('R');  
          dGroup.addActionListener(  
          new   ActionListener   ()   {  
          public   void   actionPerformed(ActionEvent   E)  
          {  
          //deleGroup();  
          }  
          }  
          );  
          dPerson=new   JMenuItem("联系人");  
          dPerson.setMnemonic('E');  
          dPerson.addActionListener(  
          new   ActionListener()   {  
          public   void   actionPerformed(ActionEvent   E)  
          {  
          pocessor.delPerson();  
          }  
          }  
          );  
          dele.add(dGroup);  
          dele.add(dPerson);  
           
           
          help=new   JMenu("帮助");  
          about=new   JMenuItem("关于");  
          about.setMnemonic('A');  
          about.addActionListener(  
          new   ActionListener()   {  
          public   void   actionPerformed(ActionEvent   E)  
          {  
          JOptionPane.showMessageDialog(Messagelist.this,  
          "制作人:破茧·化蝶","关于",JOptionPane.PLAIN_MESSAGE);  
          }  
          }  
          );  
          help.add(about);  
           
           
          bar=new   JMenuBar();  
          setJMenuBar(bar);  
          bar.add(creat);  
          bar.add(sear);  
          bar.add(dele);  
          bar.add(help);  
          //String   groupName[]={"d","ddd","dddd"};  
          sGroup=new   JComboBox();  
          sGroup.setBackground(Color.WHITE);  
          sGroup.setMaximumRowCount(4);  
          sGroup.addItemListener(  
          new   ItemListener()   {  
          public   void   itemStateChanged(ItemEvent   I)    
          {  
          pocessor.selectedGDisplay();  
          }  
          }  
          );  
           
          nameList=new   JList();  
          nameList.setFixedCellWidth(100);  
          nameList.setVisibleRowCount(10);  
          nameList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  
          /*nameList.addListSelectionListener(  
          new   ListSelectionListener()   {  
          public   void   valueChanged(ListSelectionEvent   L)  
          {  
          pocessor.selectedPDisplay();  
          }  
          }  
          );*/  
           
                  innerWest=new   JPanel();  
                  innerWest.setLayout(new   BorderLayout());  
          innerWest.add(sGroup,BorderLayout.NORTH);  
          innerWest.add(new   JScrollPane   (nameList),BorderLayout.CENTER);  
           
          name=new   JLabel("姓     名",JLabel.LEFT);  
          sex=new   JLabel("性     别",JLabel.LEFT);  
          group=new   JLabel("组",JLabel.LEFT);  
          mNumber=new   JLabel("手     机",JLabel.LEFT);  
          pNumber=new   JLabel("电     话",JLabel.LEFT);  
          email=new   JLabel("Email",JLabel.LEFT);  
          addr=new   JLabel("地     址",JLabel.LEFT);  
          zip=new   JLabel("邮   编",JLabel.LEFT);  
          tip=new   JLabel("备     注(不超过100字)",JLabel.LEFT);  
           
          nameField=new   JTextField(6);  
          sexField=new   JTextField(2);  
          groupField=new   JTextField(6);  
          //groupField.setText("作者");  
          groupField.setEditable(false);  
          mNumberField=new   JTextField(21);  
          pNumberField=new   JTextField(21);  
          emailField=new   JTextField(21);  
          addrArea=new   JTextArea(2,21);  
          addrArea.setLineWrap(true);  
          zipField=new   JTextField(7);  
          tipArea=new   JTextArea(3,25);  
          tipArea.setLineWrap(true);  
          //tipArea.setText("这是我的第一个java程序,虽然有些粗糙,但毕竟是自己写的,多多加油多多鼓励!!");  
          qqField=new   JTextField(10);  
          qq=new   JLabel("Q       Q");  
          updata=new   JButton("更新记录");  
          //updata.setHorizontalAlignment(JButton.LEFT);  
          //updataI=new   ImageIcon("updata.gif");  
          //updata.setIcon(updataI);  
          del=new   JButton("删除记录");  
          addTG=new   JButton("添加到组");  
          addTG.setEnabled(false);  
           
          panel1=new   JPanel();  
          panel1.setLayout(new   FlowLayout(FlowLayout.LEFT,5,4));  
          panel1.add(name);  
          panel1.add(nameField);//6  
          panel1.add(sex);  
          panel1.add(sexField);//2  
          panel1.add(group);  
          panel1.add(groupField);//6  
          panel1.add(mNumber);  
          panel1.add(mNumberField);//18  
          panel1.add(pNumber);  
          panel1.add(pNumberField);//18  
          panel1.add(addr);  
          panel1.add(new   JScrollPane   (addrArea));//45  
          panel1.add(qq);  
          panel1.add(qqField);//12  
          panel1.add(zip);  
          panel1.add(zipField);//8  
          panel1.add(email);  
          panel1.add(emailField);//20  
          panel1.add(tip);  
          panel1.add(new   JScrollPane   (tipArea));//100  
          panel1.setBackground(Color.WHITE);  
           
          panel2=new   JPanel();  
          FlowLayout   flow=new   FlowLayout(FlowLayout.CENTER,   5,0);  
          flow.setAlignment(FlowLayout.RIGHT);  
          panel2.setLayout(flow);  
          panel2.add(updata);  
          panel2.add(del);  
          panel2.add(addTG);  
          panel2.setBackground(Color.white);  
                   
          Container   mainWindow=getContentPane();  
          mainWindow.add(innerWest,BorderLayout.WEST);  
          mainWindow.add(panel1,BorderLayout.CENTER);  
          mainWindow.add(panel2,BorderLayout.SOUTH);  
          pocessor=new   Pocessor();  
          pocessor.loadGroup();          
          this.addWindowListener(  
          new   WindowAdapter(){  
          public   void   windowClosing(WindowEvent   w)  
          {  
          pocessor.savePerson(pastSelection);  
          }  
          }  
                    );  
                    setSize(392,336);  
            this.setResizable(false);  
            show();  
          }  
           
  问题点数:20、回复次数:14Top

1 楼JPower_pro(J动力)回复于 2005-10-01 13:04:30 得分 0

接上贴  
  private   class   Record{  
          private   String   name,sex,group,mNumber,pNumber,zip,addr,email,tip,QQ;  
          public   void   setName(String   n)  
          {  
          name=n;  
          }  
          public   String   getName()  
          {  
          return   name;  
          }    
          public   void   setSex(String   s)  
          {  
          sex=s;  
          }  
          public   String   getSex()  
          {  
          return   sex;  
          }  
          public   void   setGroup(String   g)  
          {  
          group=g;  
          }  
          public   String   getGroup()  
          {  
          return   group;  
          }  
          public   void   setmNumber(String   m)  
          {  
          mNumber=m;  
          }  
          public   String   getmNumber()  
          {  
          return   mNumber;  
          }  
                  public   void   setpNumber(String   p)  
                  {  
                  pNumber=p;  
                  }  
                  public   String   getpNumber()  
                  {  
                  return   pNumber;  
                  }  
                  public   void   setZip(String   z)  
                  {  
                  zip=z;  
                  }  
                  public   String   getZip()  
                  {  
                  return   zip;  
                  }  
                  public   void   setAddr(String   a)  
                  {  
                  addr=a;  
                  }  
                  public   String   getAddr()  
                  {  
                  return   addr;  
                  }  
                  public   void   setQQ(String   q)  
                  {  
                  QQ=q;  
                  }  
                  public   String   getQQ()  
                  {  
                  return   QQ;  
                  }  
                  public   void   setEmail(String   e)  
                  {  
                  email=e;  
                  }  
                  public   String   getEmail()  
                  {  
                          return   email;  
                  }  
                  public   void   setTip(String   t)  
                  {  
                  tip=t;  
                  }  
                  public   String   getTip()  
                  {  
                  return   tip;  
                  }  
                 
          }  
   
  Top

2 楼JPower_pro(J动力)回复于 2005-10-01 13:12:02 得分 0

接上贴  
  private   class   Pocessor   {  
           
          public   void   loadGroup()   throws   Exception  
                {  
                File   gRecord=new   File("grecord");  
                try{  
                      gInfo=new   RandomAccessFile(gRecord,"rw");  
                      while(true)  
                      {  
                                        //groupName=new   String("");  
                                groupName=gInfo.readUTF();  
                                sGroup.addItem(groupName);  
                      }  
                    }  
                catch(EOFException   eof){  
                  //gInfo.close();  
                    }  
                catch(IOException   err){  
                JOptionPane.showMessageDialog(null,"加载发生错误","加载失败!"  
              ,JOptionPane.ERROR_MESSAGE);  
                }  
                finally{  
                    gInfo.close();  
                }  
                File   sys=new   File("SysInfo");  
                RandomAccessFile   test=new   RandomAccessFile(sys,"r");  
                if(test.readInt()>0)  
                {  
                      sGroup.setSelectedIndex(0);  
                      selectedGDisplay();  
                }  
                test.close();  
                 
                  }  
                  public   void   selectedGDisplay()   throws   Exception  
                  {  
                  int   bound,cout;  
                  bound=sGroup.getSelectedIndex();  
                  if(pastSelection!=bound)  
                  {  
                  savePerson(pastSelection);  
                  }  
                          pastSelection=bound;  
                  File   pRecord=new   File("precord");  
                  try{  
                  pInfo=new   RandomAccessFile(pRecord,"rw");  
                  pInfo.seek(bound*470);  
                  for(cout=0;cout<50;cout++)  
                  {  
                  records[cout].setName(pInfo.readUTF());  
                  if(records[cout].getName()!="")  
                  {  
                  //nameList.add(records[cout].getName());  
                  }  
                  records[cout].setSex(pInfo.readUTF());  
                  records[cout].setGroup(pInfo.readUTF());  
                  records[cout].setmNumber(pInfo.readUTF());  
                  records[cout].setpNumber(pInfo.readUTF());  
                  records[cout].setAddr(pInfo.readUTF());  
                  records[cout].setQQ(pInfo.readUTF());  
                  records[cout].setZip(pInfo.readUTF());  
                  records[cout].setEmail(pInfo.readUTF());  
                  records[cout].setTip(pInfo.readUTF());  
                  }    
                  }  
                  catch(EOFException   eof){  
                   
                  }  
                  catch(IOException   IOExcept){  
                  JOptionPane.showMessageDialog(null,"无法加载组"+sGroup.getActionCommand(),  
                  "加载失败",JOptionPane.ERROR_MESSAGE);  
                  }  
                  finally{  
                  pInfo.close();  
                  }  
                  nameList.setSelectedIndex(0);  
                  selectedPDisplay();  
                  }  
                   
                  public   void   selectedPDisplay()  
                  {  
                  int   cout;  
                  cout=nameList.getSelectedIndex();  
                  if(records[cout].getName()!="")  
                  {  
                        nameField.setText(records[cout].getName());  
                        sexField.setText(records[cout].getSex());  
                        groupField.setText(records[cout].getGroup());  
                        mNumberField.setText(records[cout].getmNumber());  
                        pNumberField.setText(records[cout].getpNumber());  
                        zipField.setText(records[cout].getZip());  
                        qqField.setText(records[cout].getQQ());  
                        emailField.setText(records[cout].getEmail());  
                        tipArea.setText(records[cout].getTip());  
                        addrArea.setText(records[cout].getAddr());  
                  }  
                  }  
                  public   void   addGroup()   throws   Exception  
                  {  
                  String   add;  
                  int   bound=sGroup.getMaximumRowCount();  
                  add=JOptionPane.showInputDialog(null,"请输入组名(不超过6个字)");  
                  if(add.length()>6   |   add=="")  
                  {  
                  JOptionPane.showMessageDialog(null,"非法的输入!","错误",  
                  JOptionPane.ERROR_MESSAGE);  
                  return;  
                  }  
                  File   gRecord=new   File("grecord");  
                  File   pRecord=new   File("precord");  
                try{  
                      gInfo=new   RandomAccessFile(gRecord,"rw");  
                      gInfo.seek(gInfo.length()-1);  
                      gInfo.writeUTF(add);  
                      pInfo=new   RandomAccessFile(pRecord,"rw");  
                      pInfo.seek(bound*470);  
                      for(bound=0;bound<50;bound++)  
                      {  
                        records[bound].setName("   ");  
                        records[bound].setSex("   ");  
                        records[bound].setGroup("   ");  
                        records[bound].setmNumber("   ");  
                        records[bound].setpNumber("   ");  
                        records[bound].setZip("   ");  
                        records[bound].setAddr("   ");  
                        records[bound].setQQ("   ");  
                        records[bound].setEmail("   ");  
                        records[bound].setTip("   ");  
                      }  
                      pInfo.close();  
                  }  
                  catch(IOException   IOExcept){  
                  JOptionPane.showMessageDialog(null,"写入组失败!","错误",  
                  JOptionPane.ERROR_MESSAGE);  
                  }  
                  finally{  
                  gInfo.close();  
                  }  
                  }  
                   
                  public   void   addPersonDialog()  
                  {  
                  int   bound=0;  
  //                 bound=nameList.getItemCount();  
                  if(records[bound].getName()!="")  
                  {  
                  JOptionPane.showMessageDialog(null,"该组记录已满!","记录已满",  
                  JOptionPane.WARNING_MESSAGE);  
                  }  
                  else{  
                  JOptionPane.showMessageDialog(null,"请在右边输入新联系人信息。",  
                  "新建联系人",JOptionPane.INFORMATION_MESSAGE);  
                  addTG.setEnabled(true);  
                  }  
                   
                   
                  }  
  (Pocessor类未完)Top

3 楼JPower_pro(J动力)回复于 2005-10-01 13:13:28 得分 0

接上贴  
                  public   void   addPerson()  
                  {  
                          String   n,s,g,m,p,a,q,e,t,z;  
                          StringBuffer   infoBuffer;  
                          int   cout=0;  
                  n=new   String(nameField.getText());  
                  s=new   String(sexField.getText());  
                  g=new   String(groupField.getText());  
                  m=new   String(mNumberField.getText());  
                  p=new   String(pNumberField.getText());  
                  a=new   String(addrArea.getText());  
                  q=new   String(qqField.getText());  
                  e=new   String(emailField.getText());  
                  t=new   String(tipArea.getText());  
                  z=new   String(zip.getText());  
                  if(testInfo(n,s,g,m,p,a,q,e,t,z))  
                  {  
                  cout=nameList.getSelectedIndex();  
                  infoBuffer=new   StringBuffer(n);  
  ;               infoBuffer.setLength(6);  
                  records[cout+1].setName(new   String(infoBuffer).replace('\0','   '));  
                   
                  infoBuffer=new   StringBuffer(s);  
  ;               infoBuffer.setLength(2);  
                  records[cout+1].setSex(new   String(infoBuffer).replace('\0','   '));  
                   
                  infoBuffer=new   StringBuffer(g);  
  ;               infoBuffer.setLength(6);  
                  records[cout+1].setGroup(new   String(infoBuffer).replace('\0','   '));  
                   
                  infoBuffer=new   StringBuffer(m);  
  ;               infoBuffer.setLength(18);  
                  records[cout+1].setmNumber(new   String(infoBuffer).replace('\0','   '));  
                   
                  infoBuffer=new   StringBuffer(p);  
  ;               infoBuffer.setLength(18);  
                  records[cout+1].setpNumber(new   String(infoBuffer).replace('\0','   '));  
                   
                  infoBuffer=new   StringBuffer(a);  
  ;               infoBuffer.setLength(45);  
                records[cout+1].setAddr(new   String(infoBuffer).replace('\0','   '));  
                 
                infoBuffer=new   StringBuffer(q);  
  ;               infoBuffer.setLength(12);  
                records[cout+1].setQQ(new   String(infoBuffer).replace('\0','   '));  
                 
                infoBuffer=new   StringBuffer(z);  
  ;               infoBuffer.setLength(8);  
                records[cout+1].setZip(new   String(infoBuffer).replace('\0','   '));  
                 
                infoBuffer=new   StringBuffer(e);  
  ;               infoBuffer.setLength(20);  
                records[cout+1].setEmail(new   String(infoBuffer).replace('\0','   '));  
                 
                infoBuffer=new   StringBuffer(t);  
  ;               infoBuffer.setLength(100);  
                records[cout+1].setTip(new   String(infoBuffer).replace('\0','   '));  
                 
                nameString[cout+1]=records[cout+1].getName();  
              nameList=new   JList(nameString);  
              nameList.setSelectedIndex(cout+1);  
              selectedPDisplay();  
               
                  }    
                  }  
                  public   boolean   testInfo(String   a1,String   a2,String   a3,String   a4,String   a5,  
                                                                  String   a6,String   a7,String   a8,String   a9,String   a10)  
                  {  
                  if(a1.length()>6&a2.length()>2&a3.length()>6&a4.length()>18&a5.length()>18&a6.length()>45&a7.length()>12&a8.length()>20&a9.length()>100&a10.length()>8)  
                  {  
                  JOptionPane.showMessageDialog(null,"输入规则:\n姓名小于6个字\n性别小于2个字\n手机小于18个字\n电话小于18个字\n邮编小于8个字\nQQ小于12个字\nEmail小于20个字\n地址小于45个字\n备注小于100个字",  
                  "输入信息长度非法",JOptionPane.ERROR_MESSAGE);  
                  return   false;  
                  }  
                  else{  
                  return   true;  
                  }  
                  }  
                  public   void   delPerson()  
                  {  
                  int   cout,n;  
                  cout=nameList.getSelectedIndex();  
                  if(cout==49)  
                  {  
                  records[cout].setName("");  
                  nameList.remove(cout);  
                  return;  
                  }  
                  else  
                  {  
                  for(n=cout+1;n<50&records[n].getName()!="";n++)  
                          {  
                        records[n-1].setName(records[n].getName());  
                        records[n-1].setSex(records[n].getSex());  
                        records[n-1].setGroup(records[n].getGroup());  
                        records[n-1].setmNumber(records[n].getmNumber());  
                        records[n-1].setpNumber(records[n].getpNumber());  
                        records[n-1].setZip(records[n].getZip());  
                        records[n-1].setAddr(records[n].getAddr());  
                        records[n-1].setEmail(records[n].getEmail());  
                        records[n-1].setTip(records[n].getTip());  
                        records[n-1].setQQ(records[n].getQQ());  
                   
                          }  
                          records[n-1].setName("");  
                          nameList.remove(cout);  
                  }                  
                  }  
                  public   void   savePerson(int   past)   throws   Exception  
                  {  
                  int   cout;  
                  File   pRecord=new   File("precord");  
                  try{  
                        pInfo=new   RandomAccessFile(pRecord,"rw");  
                        pInfo.seek(past*470);  
                        for(cout=0;cout<50;cout++)  
                        {  
                          pInfo.writeUTF(records[cout].getName());  
                        pInfo.writeUTF(records[cout].getSex());  
                        pInfo.writeUTF(records[cout].getGroup());  
                        pInfo.writeUTF(records[cout].getmNumber());  
                        pInfo.writeUTF(records[cout].getpNumber());  
                        pInfo.writeUTF(records[cout].getAddr());  
                        pInfo.writeUTF(records[cout].getQQ());  
                        pInfo.writeUTF(records[cout].getZip());  
                        pInfo.writeUTF(records[cout].getTip());  
                   
                        }  
                                  }  
                          catch(IOException   IOExcept)  
                          {  
                          JOptionPane.showMessageDialog(null,"写入文件失败!","保存失败",  
                          JOptionPane.ERROR_MESSAGE);  
                          }  
                          finally{  
                          pInfo.close();  
                          }  
                    }  
                    public   void   exit()   throws   Exception  
                    {  
                    savePerson(pastSelection);  
                    System.exit(0);  
                    }  
        }(Pocessor类完)  
           
          public   static   void   main(String   args[])   throws   Exception  
          {  
          Messagelist   application=new   Messagelist();        
          }  
           
  }  
  Top

4 楼notruiyi(什么乱七八糟的)回复于 2005-10-01 13:27:52 得分 0

public   static   void   main(String   args[])   throws   Exception  
          {          
                    try{  
                Messagelist   application=new   Messagelist();        
                    }catch(Exception   e){  
                          System.out.println("Exception   occured   in   Messagelist   constructor:"e.getMessage());  
                    }  
          }Top

5 楼JPower_pro(J动力)回复于 2005-10-01 17:52:08 得分 0

自己顶一下Top

6 楼crazycy(崔毅,blog:http://www.blogjava.net/crazycy/)回复于 2005-10-01 18:56:45 得分 0

CS结构的程序,你如果使用了事件监听机制,你应该使这个类继承java.awt.event下的***Listener方法Top

7 楼Nomad_K(细菜)回复于 2005-10-02 14:30:18 得分 0

看得头晕~楼上的接该是实现接口吧,!或者是继承一个Adapter!自己实现某些要用到的方法!  
  如果是实现接口的话,要把源接口的所有方法都实现掉!Top

8 楼dxadnwfn(可米第二)回复于 2005-10-02 18:20:24 得分 0

是你的异常没有抛出,抛出异常就好了Top

9 楼dxadnwfn(可米第二)回复于 2005-10-02 18:22:27 得分 0

cGroup.addActionListener(  
                                  new   ActionListener()   {  
                          public   void   actionPerformed(ActionEvent   E)   {  
                                  try   {  
                                          pocessor.addGroup();  
                                  }   catch   (Exception   ex)   {  
                                  }  
                          }  
                  }  
                  );Top

10 楼format_jade(至尊玉)回复于 2005-10-02 18:33:31 得分 0

下面是我对异常处理的体会,不一定真确,楼主参考一下!  
  异常处理机制可以这样描述:  
      1,异常处理是针对方法的。也就是说只有方法才能够抛出异常和需要捕获异常;  
      2,对一个方法,如果在这个方法内部有可能发生异常,则这个方法有两种选择:  
                                  要么,在方法内部用try..catch来捕获异常;  
                                  要么,直接申明这个方法抛出异常,即在方法后面跟一个throws语句,  
                                  这个throws语句申明抛出的异常也就是在本方法种有可能发生的异常;  
                                  throws   XXXException语句代表这个方法如果发生了XXXException,本方法  
                                  不做处理,直接交给本方法的调用者去处理,如果本方法的调用者还不处理,也声    
                                  抛出异常,那同理,本方法的调用者的调用者则应该处理这个异常,依次类推,  
                                  最终的调用者肯定是main()方法,如果你的main()方法也声明为抛出异常,那处理    
                                  异常的任务就会交给虚拟机来处理,虚拟机处理就比较霸道了,它才不会象你  
                                  写的try...catch语句还可以继续执行程序,虚拟机只要接到异常,马上终止程序,  
                                  所以如果你想要自己的程序发生异常后还可以运行,那就不要总是throws异常,  
                                  至少不要逐级抛给虚拟机;  
      3,2所描述的有一个特例:就是当这个异常是个RuntimeException,即运行时异常的时候,我们既可以不try...catch它,也可以不throws它,因为它是否会发生异常到运行的时候才可以判断出来;  
  最常见的就是被0除的异常,就是个运行时异常;RuntimeException的子类都是运行时异常;  
      4,如果一个接口的方法后面并没有throws   XXXException这样语句,而在你对该接口的实现类的方法后面throws   XXXException,那自然会“cannot   implemnt   *(java.awt.event.*)   ”,因为接口中定义的方法和你的实现类中写的方法不是同一个方法呀,这代表你根本就没实现接口中的那个方法,而是写了一个和接口的那个方法名字相同的另有个方法而已;Top

11 楼dxadnwfn(可米第二)回复于 2005-10-02 18:40:31 得分 0

File   gRecord   =   new   File("grecord");  
  这句什么意思,是不是出错了啊,文件的载入也要扩展名的啊  
  Top

12 楼dxadnwfn(可米第二)回复于 2005-10-02 18:43:16 得分 0

看见请回答  
  Top

13 楼Rock_9()回复于 2005-10-02 21:08:42 得分 0

看着都觉得头晕,帮你顶一下吧!Top

14 楼datalover(白发始立发奋志)回复于 2005-10-02 23:20:03 得分 0

是啊,太多了,看起来要很多时间哦,建议你先写个框架,然后再往里面添东西,添点,调试一下。  
   
  建立一个.bat文件用来调试就OK了Top

相关问题

  • 我的处女作%%%%%%%%%%%……%¥……%
  • 找个处女作老婆
  • swt处女作,欢迎赏评!
  • swt GUI处女作,欢迎赏评!
  • C语言入门之处女作(急待解决):
  • 请大家试用我的处女作,有分加
  • 我的.NET处女作,欢迎大家指正批评^_^
  • 处女作:TC下的俄罗斯方块游戏~~~~~~~~~~~
  • 个人处女作网站求助,急急急急!!!
  • 小弟我的处女作,大家帮忙提提意见

关键词

  • pocessor
  • private
  • awt
  • record
  • exception
  • import

得分解答快速导航

  • 帖主:JPower_pro

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo