用JAVA操作Derby时catch有错误

执行查询的时候说我已在main方法中定义变量e,应该怎么解决

import java.sql.*;
public class Day2_1{
public static void main(String args[]){
try{Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
}
catch(Exception e){
Connection con;
Statement sql;
ResultSet rs;
try{
String uri="jdbc:derby:mydb;create=true";
con=DriverManager.getConnection(uri);
sql=con.createStatement();
rs=sql.executeQuery("select Cname,Chp from ch");
while(rs.next()){
String Cname=rs.getString(1);
int Chp=rs.getInt(2);
System.out.print(Cname+"|");
}
con.close();
}
catch(SQLException e){
System.out.println(e);
}
}
}
}
img

刚看了代码 你的try catch中包了一个catch 并且变量名都是e改为如下就行 一个try catch就可以

import java.sql.*;

public class Day2_1 {
    public static void main(String args[]) {

        try {
            Connection con;
            Statement sql;
            ResultSet rs;
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            String uri = "jdbc:derby:mydb;create=true";
            con = DriverManager.getConnection(uri);
            sql = con.createStatement();
            rs = sql.executeQuery("select Cname,Chp from ch");
            while (rs.next()) {
                String Cname = rs.getString(1);
                int Chp = rs.getInt(2);
                System.out.print(Cname + "|");
            }
            con.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}


这是语法编译错误。不是运行时发生的错误。
请检查你的变量e是否重复定义。
请将你的源码贴一下。

import java.sql.*; 
public class Day2_1{ 
  public static void main(String args[]){ 
    try{
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 
      Connection con; 
      Statement sql; 
      ResultSet rs; 
      String uri="jdbc:derby:mydb;create=true"; 
      con=DriverManager.getConnection(uri); 
      sql=con.createStatement(); 
      rs=sql.executeQuery("select Cname,Chp from ch"); 
      while(rs.next()){ 
          String Cname=rs.getString(1); 
          int Chp=rs.getInt(2); 
          System.out.print(Cname+"|"); 
      } 
      con.close(); 
    } catch(SQLException e){ 
      System.out.println(e); 
    } 
  } 
}