LeBaron,

Your braces don't appear to be matching - the open brace for the try block
(line 59) actually terminates about 18 lines later, not immediately before
the catch block, as it should.  You might want to try an editor that has
brace matching capability, such as EditPlus - it can make your life a whole
lot easier.

-Jeff

-----Original Message-----
From: LeBaron Price [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, May 01, 2001 1:02 PM
To: [EMAIL PROTECTED]
Subject: Try without catch without try - compile errors


Good Morning Neighbors;

I've been beating my head against this wall for a couple days now, and feel
as though I have exhausted all my other available resources (even the guys
in my own shop won't talk to me anymore.) I've got some code that appears to
be structured fine (I'll include the skeleton at the bottom of the message.)
unfortunately any time I try to run it I get two errors..

'try' without 'catch' or 'finally'. }
'catch' without 'try'. catch (SQLException sql_e)

They're back to back, why for the love of the goddess can't they find each
other? I'm using emacs and when I delete the end bracket just above the
catch statement and put another in it's place, it tells me it matches the
beginning of the try statement.
I thought maybe it was some hidden character that I wasn't seeing that was
messing me up, but I just finished retyping the catch block by hand and
didn't have any success.

Has any one out there run into a similar issue with java in the past? I
could really use the help, I need this code up, and I'm about ready to throw
out the exception handling all together (the programmer gods gasp at my
blasphemy * I repent I repent)

Any how, if you can forgive my neurotic bitterness and offer any advice it
would be greatly appreciated,
Thanks in advance,

Peace,
LeBaron.



Code follows (I apologize in advance for the horrible formatting on this,
it's been copied from unix to windows and from word to notepad, I tried to
clean it up a bit, but I had to make some compromise for readability in a
text wrapping environment. )



<HTML><HEAD><TITLE>Report</TITLE></HEAD><BODY>

<%@ page language="java" import="java.io.*" import="java.sql.*"
import="java.util.*" import="java.text.DateFormat"
import="java.text.ParseException"%>

<%!
Connection connection;
Statement statement ;
Statement statement2 ;
ResultSet rs ;
ResultSet rs2 ;
ResultSetMetaData rsmd;
static DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
static { df.setLenient (false); }
public static final int val_EXPIRED = -1;
public static final int val_CURRENT = 0;
public static final int val_FUTURE = 1;
%>

<%
Class.forName("oracle.jdbc.driver.OracleDriver" );
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@server:port:db", "usr", "pword" );
statement = connection.createStatement() ;

rs = statement.executeQuery("SQL" ) ;
rsmd = rs.getMetaData();

while( rs.next() ) {
       String val = rs.getString( "SQLval" ) ;
       String val  = rs.getString( "SQLval" ) ;
    %>

<Table border="2">
    <TR>
        <TD>dispVal</TD><TD>  <% String.valueOf(val) ; %> </TD>
    </TR>
    <TR>
        <TD>dispVal</TD><TD>  <% String.valueOf(val) ; %> </TD>
    </TR>
</Table>

<BR><BR><B>Report<B><BR>

<Table border="2">
<TR>
<TH>dispVal</TH>
</TR>
<%
//count
double val = 0;
   //used to hold each val found
    Hashtable hash = new Hashtable ();
    //obtain vals
    String sql_str = "SQL";
    rs2 = statement2.executeQuery(sql_str);
if (rs2 == null)
    { %> <TR><TD colspan="7">*** No vals ***"</TD></TR> <% }
else
{try
        {while (rs2.next())
            {   //extract the vals
                String val = rs2.getString ("SQLval");
                if (val == valproc)
                        {   //calculate the val...need to promote stop to a
double, or it will do integer division
                        int val = rs2.getInt ("SQLval");
                        int val  = rs2.getInt ("SQLval");
                        double val = ((double) val - val)/4;
                        val += val;
                        }
                //create our new hash key.
                //hash key consists of:
                // val.val.val.val.val
                String hashKey = buf.toString() + "%" + val + "%" + val +
"%" + val + "%" + val;
                //check if the hashtable has an entry for this val
                if (hash.containsKey(hashKey))
                        {   //there is an entry...this means both the val
and the val match
                            //extract the line item object to update its
info
                            PLineItem pli = (PLineItem) hash.get(hashKey);
                            //add the number of val to the existing entry
                            pli.hours += val;
                            hash.put (hashKey, pli);
                        }
                        else
                        {   //no rates match, so create a new entry
                            hash.put (hashKey, new PLineItem (val, val));
                        }
                    }
                }
//mark result set for garbage collection
rs2.close();
stmt.close();
rs2 = null;

//build the HTML rows for each item in the hashtable
for (Enumeration e = hash.keys() ; e.hasMoreElements() ; )
       {String hashKey = (String) e.nextElement();
        PLineItem pli = (PLineItem) hash.get(hashKey);
        %> <TR> <%
        StringTokenizer tokenizer = new StringTokenizer (hashKey, "%");
        String val = tokenizer.nextToken ();
        String val = tokenizer.nextToken ();
        String val = tokenizer.nextToken ();
        String val = tokenizer.nextToken ();
        String val = tokenizer.nextToken ();
        %>
        <TD> <%= val %> </TD>
        <TD> <%= val %> </TD>
        <TD> <%= val %> </TD>
        <TD> <%= val %> </TD>
        <TD> <%= val %> </TD> </TR>
        <%
          }
       }
    }  //this is the one.. I get the no catch here, and the no try on the
catch below
    catch (SQLException sql_e)
    { %> </TABLE <BR><BR> <H3>An error has occurred accessing the database.
Unable to retrieve vals.</H3><BR><BR> <% }

    //add val to the table
    %>
        <TR>
            <TD Colspan="2">val</TD><TD>  <% val %> </TD>
        </TR>
        </TABLE>
        <BR><BR>
        <%
        }
        %>

        <%!
        /**
        Convenience function for determining if a val is current, expired or
future.
        @param sDate: start date formatted in the Oracle 'DD-MON-YYYY'
format (may be null).
        @param eDate: end date formatted in the Oracle 'DD-MON-YYYY' format
(may be null).
        @return val_EXPIRED if the val is expired.
                val_CURRENT if the val is current.
                val_FUTURE if the val is future.
        */
        public static int valproc (String sDate, String eDate)
        {
            //get our current date
        java.util.Date today = new java.util.Date ();

        //determine if this is a current val (and not a future val or
expired val)
        //build the dates for this entry using our date format
        java.util.Date startDate = null;
        try
        {
            startDate = df.parse (sDate);
        }
        catch (ParseException p_e)
        { /*ignored...startDate will simply remain null, which is fine */ }

        java.util.Date endDate = null;
        try
        {
            endDate = df.parse (eDate);
    r   }
        catch (ParseException p_e)
        { /*ignored...endDate will simply remain null, which is fine */ }
            //if the enddate is not null, compare it to the current date.
If it is less than the
        //current date, this is an expired val.
        if ((endDate != null) && (endDate.before (today)))
        {
            return val_EXPIRED;
        }

        //if the startdate is not null, compare it to the current date.  If
it is more than the
        //current date, this is a future val.
        if ((startDate != null) && (startDate.after (today)))
        {
            return val_FUTURE;
        }

        //all other cases are current val.
        return val_CURRENT;
        }

        %>

</BODY>
</HTML>

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.html
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.html
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

Reply via email to