小菜最近在做一个动态网但是在编译javabean程序时就遇到了困难,yet通过几次修改错误不断消失1但是每解决一大串错误,面对新的错误!这是为什么啊!我估计解决这错误后又会产生新的错误,所以请高手把潜在的错误都找出来谢谢!!
E:\>javac W:\business\WEB-INF\classes\org\pan\web\baiwan.java
W:\business\WEB-INF\classes\org\pan\web\baiwan.java:90: unreported exception jav
a.lang.Exception; must be caught or declared to be thrown
                String sqlStr="select * from baiwanhezi where UserName1='"+getUs
erName1()+ " 'and Password1='"+getPassword1()+" '";       ^
W:\business\WEB-INF\classes\org\pan\web\baiwan.java:90: unreported exception jav
a.lang.Exception; must be caught or declared to be thrown
                String sqlStr="select * from baiwanhezi where UserName1='"+getUs
erName1()+ " 'and Password1='"+getPassword1()+" '";                                           ^
W:\business\WEB-INF\classes\org\pan\web\baiwan.java:260: unreachable statement
                rs.close();
                ^
W:\business\WEB-INF\classes\org\pan\web\baiwan.java:268: variable sqlStr might n
ot have been initialized
                sqlStr = sqlStr + "Bookname = '" + getBookName() + "',";
                         ^
W:\business\WEB-INF\classes\org\pan\web\baiwan.java:285: unreachable statement
                rs.close();
                ^
W:\business\WEB-INF\classes\org\pan\web\baiwan.java:304: unreachable statement
            rs.close();
            ^
W:\business\WEB-INF\classes\org\pan\web\baiwan.java:326: unreachable statement
                 rs.close()   /7 errors
我的程序是:
package org.pan.web;
import java.sql.*;
import org.pan.util.*;
import javax.servlet.http.HttpServletRequest;
import java.sql.ResultSet;
public class baiwan {       
        private String UserName1;private String Password1;private String UserName2;
        private String Password2; private boolean IsTimeUp=false;private String IsRight="no";  private javax.servlet.http.HttpServletRequest Request;private int BookId;private String BookName; private String BookContent;private float Price;
        private String SubmitTime;private String CheckTime;private String Email;private String IsPayOff;String mysqldriver="org.gjt.mm.mysql.Driver";String url="jdbc:mysql://localhost:3306/business?user=wyn63559956;password=19861004";
        Connection con;Statement stmt;ResultSet rs;       public baiwan() throws Exception{try{ Class.forName(mysqldriver);con=DriverManager.getConnection(url,"","");stmt=con.createStatement();}catch(Exception e) { System.out.println(e);}
UserName1=""; Password1="";UserName2="";Password2="";SubmitTime="";BookId=0; BookName="";BookContent="";Price=0; SubmitTime="";CheckTime=""; Email="";}
public String getUserName1() throws Exception{                         //这是用户的函数 return UserName1;}
public void setUsername1(String newusername) {UserName1 = newusername;}
public String getPassword1() throws Exception{return Password1;}
public void setPassword1(String newpasswd) {Password1 = newpasswd;}
public String getUserName2() {return UserName2;}
public void setUserName2(String newusername){UserName2=newusername;} 
 public String getPassword2() {return Password2;}
public void setPassword2(String newpasswd){
 Password2=newpasswd;}
public String getSubmitTime() { return SubmitTime; }
public String getIsRight() throws Exception{return IsRight;}
public String getSql1(){String sqlStr="select * from baiwanhezi where UserName1='"+getUserName1()+ " 'and Password1='"+getPassword1()+" '"; return sqlStr;}
public boolean checkUser1() throws Exception{                boolean flag=false;rs=stmt.executeQuery(getSql1());if(rs.next())flag=true;
rs.close();return flag; } 
public String getSql2(){String sqlStr="select * from My_Users where UserName='"+getUserName2()+ " 'and PassWord='"+getPassword2()+" '";return sqlStr; }             
 public boolean checkUser2() throws Exception{boolean flag=false;rs=stmt.executeQuery(getSql2()); if(rs.next())flag=true;rs.close();return flag; }
 public boolean haveRight() throws Exception { String sqlStr;boolean flag=false;
try{sqlStr = "update baiwanhezi set";  sqlStr = sqlStr + "UserName1 = '" + getUserName2() + "',"; sqlStr = sqlStr + "Password1 = '" + getPassword2() + "',";
sqlStr = sqlStr + "SubmitTime = '" + getSubmitTime() + "'";rs=stmt.executeQuery(sqlStr);}       catch(SQLException e){System.out.println(e);   return flag;}
sqlStr = "delete UserName2,Password2 from baiwanhezi";try{rs=stmt.executeQuery(sqlStr);}catch(SQLException e){System.out.println(e);rs.close();return flag;} rs.close();flag=true;
return flag;} public String getBookName() throws Exception {return BookName;}public void setBookName(String newbookname) { BookName=newbookname;}         
public void setSubmitTime(String time) {SubmitTime=time;}
public float getPrice() throws Exception{return Price;}
public void setPrice(float price){Price=price;    }
public String getBookContent() throws Exception{return BookContent;}
public void setBookContent(String bookcontent){BookContent=bookcontent;}
public void setCheckTime(String checktime){CheckTime=checktime; }
public String getCheckTime() throws Exception{return CheckTime;}
public void setIsPayOff(String ispayoff) {IsPayOff=ispayoff; }
public String getIsPayOff() throws Exception {return IsPayOff;}
public void setEmail(String email) throws Exception {Email=email;}
public String getEmail() throws Exception {return Email;}
public boolean setNewgoods(javax.servlet.http.HttpServletRequest newrequest) {
 boolean sqlflag=true;Request = newrequest;BookName=Request.getParameter("BookName");
try{if (BookName==null || BookName.equals("")){BookName = "";sqlflag = false;}
BookContent=Request.getParameter("BookContent");
if(BookContent==null || BookContent.equals("")){BookContent="";sqlflag=false;}
Price =new Float(Request.getParameter("Price")).floatValue();
Email=Request.getParameter("Email");
 if(Email==null || Email.equals("")){ Email="";sqlflag=false;} }    
catch(Exception e){ sqlflag=false;return sqlflag;     }return sqlflag;}               
 public boolean insertGoods() throws Exception {     boolean sqlflag=true;
String sqlStr = "update baiwanhezi set"; 
sqlStr = sqlStr + "BookContent = '" + getBookContent() + "',";
sqlStr = sqlStr + "Price = '" + getPrice() + "',";
sqlStr = sqlStr + "Email = '" + getEmail() + "'";
try{stmt.executeUpdate(sqlStr);return sqlflag;}
catch (SQLException sqle){System.out.println(sqle);rs.close();
sqlflag=false;return sqlflag;}rs.close();return sqlflag;}
public boolean updateGoods() throws Exception {
String sqlStr;boolean sqlflag=true; sqlStr = sqlStr + "Bookname = '" + getBookName() + "',";sqlStr = sqlStr + "BookContent = '" + getBookContent() + "',";
sqlStr = sqlStr + "Price = '" + getPrice() + "',";
sqlStr = sqlStr + "Email = '" + getEmail() + "'";
try
{stmt.execute(sqlStr);return sqlflag;}
catch (SQLException e){System.out.println(e);sqlflag=false;rs.close();return sqlflag;} rs.close();return sqlflag;}
public boolean deleteAll() throws Exception {
String sqlStr = "delete * from baiwanhezi"; try{
stmt.executeQuery(sqlStr);
catch (SQLException e){System.out.println(e);rs.close();return false;}
rs.close(); return true;}
}
public boolean getGoods() throws Exception {  String sqlStr = "select * from baiwanhezi";
                try
                { rs=stmt.executeQuery(sqlStr);BookName=rs.getString("BookName");BookContent=rs.getString("BookContent");Price=rs.getFloat("Price");IsPayOff=rs.getString("IsPayOff");
                        Email=rs.getString("Email");
                        return true;
                 } catch(Exception e)
                 {
                      System.out.println(e);
                      rs.close();
                      return false;
                 }
                 rs.close();
                 return true;
       } 
}                

解决方案 »

  1.   

    你的执行SQL的语句应该有个异常处理的,要不然会出错的,这样子就可以了。
    try{
        String sqlStr="select * from baiwanhezi where UserName1='"+getUs
                      erName1()+ " 'and Password1='"+getPassword1()+" '";
    }catch(Exception e){
       e.printStackTrace();
    }
      

  2.   

    照例说异常处理不是一定要加的啊?这错误指什么??我已被困惑多时??thank you!!
      

  3.   

    懒人的做法,每个方法后面都加throws Exception……