Exception in declare part..?

hi,
how we can catch exception in declare part..
declare
num1 number(2):=303;
begin
dbms_output.putline('num1 value-'||num1);
exception
when others then
dbms_output.putline('error occured');
end;
rgds,
pc
Edited by: PC on Sep 9, 2010 2:20 AM

BluShadow wrote:
Or just wrap such things up in another execution block...
SQL> ed
Wrote file afiedt.buf
1  begin
2    declare
3      num1 number(2):=303;
4    begin
5      dbms_output.put_line('num1 value-'||num1);
6    end;
7  exception
8    when others then
9      dbms_output.put_line('error occured');
10      raise;
11* end;
SQL> /
error occured
begin
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: number precision too large
ORA-06512: at line 10
Fair enough, but the error message says the error occurs at line 10 while the problem is at line 3. Not that the right line number occurs in the error message all the time anyway ...

Similar Messages

  • Exception in declarative section to propagating in PL/SQL Block

    Hi All, I have a requirement to send emails to some receipient whenever there is an error in a process. The is working untill the put a wrong database link in the parameter, the cursor is in declarative statement, hence when other exception does not work, create and enclosing block around the initial block so that the exception can propagate to the enclosing block, but this does not work either, please advice. Below is the a brief pseudo code. The bold is the initial block. Please advice.
    DECLARE
    Invalid_table EXCEPTION;
    PRAGMA EXCEPTION_INIT(Invalid_table, -00942);
    BEGIN
    declare
    c_test number;
    cursor c1 is select 1 from tt@sro4link1 --- wrong databaselink sent as a parameter
    where 1 =1;
    */*Because the error is in the cursor select, no email is been sent, that was the reason I put an enclosing block, but the exception is not propagate either */*
    BEGIN
    OPEN C1;
    FETCH C1 into c_test;
    CLOSE C1;
    EXCEPTION
    WHEN OTHERS THEN
    --- Send email
    END; EXCEPTION
    WHEN Invalid_table THEN
    --- send email
    END;
    /

    Ade2 wrote:
    it is not a dynamic sql. Your description is not very clear about what is code and what is pseudo code, but if you are using substitution variables in sqlplus, then that is dynamic SQL.
    sqlplus scans for substitution variables, prompts when needed, replaces the variable (substitutes) with the text input and passes the entire result to the database for validation.
    If the substitution text input results in an invalid PL/SQL block then a compilation error is returned from the database. The PL/SQL cannot be compiled, it never runs, no run time exceptions are possible.
    So you cannot use exceptions to detect errors in values input to substitution variables.
    SQL> declare
      2    l_dummy number;
      3  begin
      4    select 1 into l_dummy from dual;
      5  end;
      6  /
    PL/SQL procedure successfully completed.
    SQL> declare
      2    l_dummy number;
      3  begin
      4    &5
      5  end;
      6  /
    Enter value for 5: select 1 into l_dummy from dual;
    old   4:   &5
    new   4:   select 1 into l_dummy from dual;
    PL/SQL procedure successfully completed.
    SQL> /
    Enter value for 5: this will not compile
    old   4:   &5
    new   4:   this will not compile
      this will not compile
    ERROR at line 4:
    ORA-06550: line 4, column 8:
    PLS-00103: Encountered the symbol "WILL" when expecting one of the following:
    := . ( @ % ;

  • Weblogic throwing "null SOAP element Exception" in multi-part SOAP response

    Hi All,
    I'm using weblogic 10. My application is a webservice client generated using '*clientgen*', which is running on weblogic, and
    is invoking a remotely hosted webservice ( Remotely hoseted webservice may not be running on weblogic).
    I've the wsdl file of remotely hosted webservice.
    Now the problem is with WSDL file (I suppose), have a look at this.
    *<message name="m1">*
    *<part name="body" element="tns:GetCompanyInfo"/>*
    *</message>*
    *<message name="m2">*
    *<part name="body" element="tns:GetCompanyInfoResult"/>*
    *<part name="docs" type="xsd:AnyComplexType"/> ------> assume all elements inside this complex type can be nil or minOccurs set to '0'*
    *<part name="logo" type="xsd:AnyOtherComplexType"/> ------> assume all elements inside this complex type can be nil or minOccurs set to '0'*
    *</message>*
    <portType name="pt1">
    <operation name="GetCompanyInfo">
    <input message="m1"/>
    *<output message="m2"/> -----> multi part message.*
    </operation>
    </portType>
    Now here is sample message for the request(I've composed this message for this question):
    <soap:Envelope> MESSAGE1
    <soap:header/>
    <soap:body>
    <tns:m2>
    <tns:GetCompanyInfoResult>
    Blah Blah....
    </tns:GetCompanyInfoResult>
    <tns:docs>
    Blah Blah....
    </tns:docs> Assume no data for 'logo', so it's not returned. Since all its elements can be nillable.
    <tns:m2>
    </soap:body>
    </soap:Envelope>
    First of all, is this SOAP response is valid? I'm not sure about *'message' and 'parts' in SOAP*, but according to XML schema standards it's invalid.
    Because, according to *'message' m2, 'logo' is missing*, eventhough all it's elements are nillable in such case there should be *<logo/>* at the end.
    I mean valid message should be like below
    <soap:Envelope> '*MESSAGE2*'
    <soap:header/>
    <soap:body>
    <tns:m2>
    <tns:GetCompanyInfoResult>
    Blah Blah....
    </tns:GetCompanyInfoResult>
    <tns:docs>
    Blah Blah....
    </tns:docs>
    *<tns:logo/> ------------------> here is the change compared to above message. empty element.*
    <tns:m2>
    </soap:body>
    </soap:Envelope>
    Now the concerns are :
    (1) Which is a valid response? Message1 or Message2
    (2) If message1 is valid then why is weblogic throwing an exception 'null SOAP element', I suppose this is due to missing 'logo' element.
    (To confirm this I've used tcpmonitor and found message1 as response but weblogic is still throwing 'null SOAP Element' exception,
    which confirms it needs 'logo' as well, I suppose <logo/> at least). Is there any workaround for this in weblogic for multi-part messages?
    (3) If message1 is invalid according to SOAP standards then You've answered my question. ---> I need to talk to the webservice provider in this case.....
    Thanks in advance...

    Message 1 is not Basic Profile 1.1 compliant. It is specified by BP1.1 in section 4.4.1(http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html#Bindings_and_Parts) that when a wsdl:part element is defined using the type attribute, the serialization of that part in a message is equivalent to an implicit (XML Schema) qualification of a minOccurs attribute with the value "1", a maxOccurs attribute with the value "1" and a nillable attribute with the value "false".

  • Exception when declaring params as in out in procedure

    Hello,
    I am getting an exception like
    java.lang.NullPointerException
    at oracle.jdbc.driver.T4CNamedTypeAccessor.unmarshalOneRow(T4CNamedTypeAccessor.java:136)
    at oracle.jdbc.driver.T4CTTIrxd.unmarshal(T4CTTIrxd.java:791)
    at oracle.jdbc.driver.T4CTTIrxd.unmarshal(T4CTTIrxd.java:707)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:529)
    at oracle.jdbc.driver.T4CCallableStatement.doOall8T4CCallableStatement.java:180)
    at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:790)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1101)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2901)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2973)
    at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:4145)
    at com.evermind.sql.PreparedStatementBCELProxy.executeUpdate(PreparedStatementBCELProxy.java:46)
    at mypackage.Servlet.doPost(Servlet.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:649)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    when i am trying to call a procedure having a arraylist as in out parameter. if i declare that as only in it's working fine. Otherwise it is resulting in an exception when i'm calling it in a servlet. I am using Oracle JDeveloper as IDE.
    Can any one solve this problem............
    regards
    pavani...

    Hi,
    mass data and XML is a known issue. To process such data the complete DOM is built in memory by MII. If you want to fight this issue with
    resources the only chance you have is that you use x64 Windows Server für MII with several GB for the JVM. Typically you could try to give
    the JVM a heap size of 3GB/4GB (keep increasing till it works :-). Though this is architectural not a nice solution, so you should send, for
    example, the message zipped and base64 encoded. This message could then be received by MII and saved to a file. Decoding and dezipping
    this file should be done on file system such that a decoded and dezipped file is created. Then you can process this file with a custom action.
    Remember that you will face the same resource problems in your custom action. The solution is to use an event driven parser like SAX to parse
    the file and do the inserts in JDBC batch mode. With this procedure you can guarantee that a fixed amount of memory is used when parsing
    a big XML file.
    Good luck,
    Matthias

  • Getting UnexpectedException but the exception IS declared in the clause

    I am using RMI in a small application that I am writing. The remote interface specifies several methods that need to be implemented by the concrete class implementation. One of these methods might throw several exceptions in addition to the java.rmi.RemoteException. The throws clause of the interface and the concrete class are identical; both specify the same set of possible exceptions that could happen. I checked the code (i.e., stub) that was generated by the rmic compiler for that method and it seems OK. There, I see a catch() block for each one of the exceptions that I declared in the throws clause of the remote interface. No exception is missing in the generated code. However, at run time if one of the exceptions in the throws clause is generated, the remote JVM process does not get the exception that was thrown! Instead, it gets a java.rmi.UnexpectedException. Does any one has had this problem before? Is this a known bug? I am using JDK 1.2.2_006. Thanks.

    I'm getting the exact same problem, no idea why.

  • Exception: The declaration for the entity "ContentType" must end with ' '

    I am trying to parse a remote XML file into org.w3c.dom.Document, but it always shows the above Warning information. Any idea for that?
    My Code is like:
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setValidating(true);
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document doc = builder.parse("remote url");Thanks!
    Edited by: usfish on Jan 12, 2009 11:43 AM

    As a wild guess, you have an "<!ENTITY" declaration that is not terminated. It's possible that the file is somehow corrupted.
    The error message should contain the line number and column where the parser discovered the error. If you retrieve the XML file by hand and look at that location, you should find the problem.

  • Problem with passing exception with declarative security

    I am having a problem with passing exceptions with message security bunding enables. I have a JAXWS EJB 3.0 web service, The service defines methods which throw exceptions. The exceptions are passed correclty when there is no message security enabled. once the security is enabled and an exception is thrown, I get the stack trace below. Furthermore, the service with security enabled works fine as long as methods do not throw an exception. I am thinking that the JAXWS generated wrapped exception is not correctly handled by the message security provider in the server. Just a thought. Any help would be greatly appreciated.
    Stack trace:
    [#|2007-03-23T00:49:06.333-0600|WARNING|sun-appserver-pe9.0|javax.enterprise.sys
    tem.stream.err|_ThreadID=11;_ThreadName=httpWorkerThread-8080-0;_RequestID=64417
    ac0-ded8-474d-9066-5a97c8559b67;|
    ERROR: 'NAMESPACE_ERR: An attempt is made to create or change an object in a wa
    y which is incorrect with regard to namespaces.'|#]
    [#|2007-03-23T00:49:06.334-0600|SEVERE|sun-appserver-pe9.0|javax.xml.messaging.s
    aaj.soap|_ThreadID=11;_ThreadName=httpWorkerThread-8080-0;_RequestID=64417ac0-de
    d8-474d-9066-5a97c8559b67;|SAAJ0511: Unable to create envelope from given source
    |#]
    [#|2007-03-23T00:49:06.334-0600|INFO|sun-appserver-pe9.0|javax.enterprise.system
    .core.security|_ThreadID=11;_ThreadName=httpWorkerThread-8080-0;|SEC2003: Contai
    ner-auth: wss: Error securing response
    com.sun.enterprise.security.jauth.AuthException: Unable to create envelope from
    given source:
    at com.sun.xml.wss.provider.ServerSecurityAuthModule.secureResponse(Serv
    erSecurityAuthModule.java:129)
    at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sun.enterprise.security.jauth.AuthContext.invokePriv(AuthContext.
    java:128)
    at com.sun.enterprise.security.jauth.AuthContext$1.run(AuthContext.java:
    78)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.enterprise.security.jauth.AuthContext.invoke(AuthContext.java
    :75)
    at com.sun.enterprise.security.jauth.ConfigFile$ConfigServer.secureRespo
    nse(ConfigFile.java:662)
    at com.sun.enterprise.security.wss.WebServiceSecurity.secureResponse(Web
    ServiceSecurity.java:220)
    at com.sun.enterprise.security.wss.WebServiceSecurity.secureResponse(Web
    ServiceSecurity.java:197)
    at com.sun.enterprise.webservice.JAXWSSystemHandlerDelegateFactory$Servl
    etDelegate.processResponse(JAXWSSystemHandlerDelegateFactory.java:540)
    at com.sun.enterprise.webservice.monitoring.JAXWSEndpointImpl.processRes
    ponse(JAXWSEndpointImpl.java:121)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOA
    PMessageDispatcher.java:148)
    at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
    at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3Me
    ssageDispatcher.java:160)
    at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3Messag
    eDispatcher.java:89)
    at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpo
    int(EjbWebServiceServlet.java:178)
    at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServ
    iceServlet.java:109)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.jav
    a:100)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:536)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:71)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:182)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipe
    line.java:120)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:137)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:536)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:23
    1)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(
    ProcessorTask.java:667)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBloc
    ked(ProcessorTask.java:574)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(Proces
    sorTask.java:844)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTas
    k(ReadTask.java:287)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.jav
    a:212)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:2
    52)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThrea
    d.java:75)
    |#]
    [#|2007-03-23T00:49:06.335-0600|WARNING|sun-appserver-pe9.0|javax.enterprise.sys
    tem.core|_ThreadID=11;_ThreadName=httpWorkerThread-8080-0;_RequestID=64417ac0-de
    d8-474d-9066-5a97c8559b67;|Exception while tracing response : Unable to create e
    nvelope from given source: |#]
    [#|2007-03-23T00:49:06.336-0600|WARNING|sun-appserver-pe9.0|javax.enterprise.sys
    tem.stream.err|_ThreadID=11;_ThreadName=httpWorkerThread-8080-0;_RequestID=64417
    ac0-ded8-474d-9066-5a97c8559b67;|
    com.sun.enterprise.security.jauth.AuthException: Unable to create envelope from
    given source:
    at com.sun.xml.wss.provider.ServerSecurityAuthModule.secureResponse(Serv
    erSecurityAuthModule.java:129)
    at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sun.enterprise.security.jauth.AuthContext.invokePriv(AuthContext.
    java:128)
    at com.sun.enterprise.security.jauth.AuthContext$1.run(AuthContext.java:
    78)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.enterprise.security.jauth.AuthContext.invoke(AuthContext.java
    :75)
    at com.sun.enterprise.security.jauth.ConfigFile$ConfigServer.secureRespo
    nse(ConfigFile.java:662)
    at com.sun.enterprise.security.wss.WebServiceSecurity.secureResponse(Web
    ServiceSecurity.java:220)
    at com.sun.enterprise.security.wss.WebServiceSecurity.secureResponse(Web
    ServiceSecurity.java:197)
    at com.sun.enterprise.webservice.JAXWSSystemHandlerDelegateFactory$Servl
    etDelegate.processResponse(JAXWSSystemHandlerDelegateFactory.java:540)
    at com.sun.enterprise.webservice.monitoring.JAXWSEndpointImpl.processRes
    ponse(JAXWSEndpointImpl.java:121)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOA
    PMessageDispatcher.java:148)
    at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
    at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3Me
    ssageDispatcher.java:160)
    at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3Messag
    eDispatcher.java:89)
    at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpo
    int(EjbWebServiceServlet.java:178)
    at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServ
    iceServlet.java:109)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.jav
    a:100)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:536)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:71)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:182)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipe
    line.java:120)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:137)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:536)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:23
    1)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(
    ProcessorTask.java:667)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBloc
    ked(ProcessorTask.java:574)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(Proces
    sorTask.java:844)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTas
    k(ReadTask.java:287)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.jav
    a:212)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:2
    52)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThrea
    d.java:75)
    |#]
    [#|2007-03-23T00:49:06.336-0600|SEVERE|sun-appserver-pe9.0|javax.enterprise.reso
    urce.webservices.jaxws.server.soapmd|_ThreadID=11;_ThreadName=httpWorkerThread-8
    080-0;_RequestID=64417ac0-ded8-474d-9066-5a97c8559b67;|Unable to create envelope
    from given source:
    com.sun.enterprise.security.jauth.AuthException: Unable to create envelope from
    given source:
    at com.sun.xml.wss.provider.ServerSecurityAuthModule.secureResponse(Serv
    erSecurityAuthModule.java:129)
    at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sun.enterprise.security.jauth.AuthContext.invokePriv(AuthContext.
    java:128)
    at com.sun.enterprise.security.jauth.AuthContext$1.run(AuthContext.java:
    78)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.enterprise.security.jauth.AuthContext.invoke(AuthContext.java
    :75)
    at com.sun.enterprise.security.jauth.ConfigFile$ConfigServer.secureRespo
    nse(ConfigFile.java:662)
    at com.sun.enterprise.security.wss.WebServiceSecurity.secureResponse(Web
    ServiceSecurity.java:220)
    at com.sun.enterprise.security.wss.WebServiceSecurity.secureResponse(Web
    ServiceSecurity.java:197)
    at com.sun.enterprise.webservice.JAXWSSystemHandlerDelegateFactory$Servl
    etDelegate.processResponse(JAXWSSystemHandlerDelegateFactory.java:540)
    at com.sun.enterprise.webservice.monitoring.JAXWSEndpointImpl.processRes
    ponse(JAXWSEndpointImpl.java:121)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOA
    PMessageDispatcher.java:148)
    at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
    at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3Me
    ssageDispatcher.java:160)
    at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3Messag
    eDispatcher.java:89)
    at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpo
    int(EjbWebServiceServlet.java:178)
    at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServ
    iceServlet.java:109)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.jav
    a:100)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:536)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:71)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:182)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipe
    line.java:120)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:137)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:536)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:23
    1)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(
    ProcessorTask.java:667)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBloc
    ked(ProcessorTask.java:574)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(Proces
    sorTask.java:844)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTas
    k(ReadTask.java:287)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.jav
    a:212)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:2
    52)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThrea
    d.java:75)
    |#]
    [#|2007-03-23T00:49:06.338-0600|WARNING|sun-appserver-pe9.0|javax.enterprise.sys
    tem.stream.err|_ThreadID=11;_ThreadName=httpWorkerThread-8080-0;_RequestID=64417
    ac0-ded8-474d-9066-5a97c8559b67;|
    com.sun.enterprise.security.jauth.AuthException: Unable to create envelope from
    given source:
    at com.sun.xml.wss.provider.ServerSecurityAuthModule.secureResponse(Serv
    erSecurityAuthModule.java:129)
    at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sun.enterprise.security.jauth.AuthContext.invokePriv(AuthContext.
    java:128)
    at com.sun.enterprise.security.jauth.AuthContext$1.run(AuthContext.java:
    78)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.enterprise.security.jauth.AuthContext.invoke(AuthContext.java
    :75)
    at com.sun.enterprise.security.jauth.ConfigFile$ConfigServer.secureRespo
    nse(ConfigFile.java:662)
    at com.sun.enterprise.security.wss.WebServiceSecurity.secureResponse(Web
    ServiceSecurity.java:220)
    at com.sun.enterprise.security.wss.WebServiceSecurity.secureResponse(Web
    ServiceSecurity.java:197)
    at com.sun.enterprise.webservice.JAXWSSystemHandlerDelegateFactory$Servl
    etDelegate.processResponse(JAXWSSystemHandlerDelegateFactory.java:540)
    at com.sun.enterprise.webservice.monitoring.JAXWSEndpointImpl.processRes
    ponse(JAXWSEndpointImpl.java:121)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOA
    PMessageDispatcher.java:148)
    at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
    at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3Me
    ssageDispatcher.java:160)
    at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3Messag
    eDispatcher.java:89)
    at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpo
    int(EjbWebServiceServlet.java:178)
    at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServ
    iceServlet.java:109)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.jav
    a:100)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:536)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:71)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:182)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipe
    line.java:120)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:137)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
    ava:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:536)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:23
    1)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(
    ProcessorTask.java:667)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBloc
    ked(ProcessorTask.java:574)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(Proces
    sorTask.java:844)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTas
    k(ReadTask.java:287)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.jav
    a:212)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:2
    52)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThrea
    d.java:75)
    |#]

    Hi,
    Thanks for the reply. I read the weblog and posted a reply to it already.
    History:
    I actually have a web service where I have message level security enabled and it works great. I had some issues early on with descriptor but those are worked out. As I was testing, I created a test case that throws an exception. That is when I get the NAMESPACE_ERROR, jauth exceptions , etc.
    Attempt to find issue:
    Glassfish: V1 (glassfish-installer-9.0-b48.jar), jdk1.5.0_11
    Code: EJB tech tip EJB30 web service
    Security: message security, specified almost verbatim to how it is done in the link you mention.
    Sample works fine until I modify the web service to throw an exception. Once I do that, I get the NAMESPACE_ERROR stack trace I posted in original message. The sample in the tech tip uses the embedded app-client.
    Thanks for helping with this.

  • Improve performence in Declaration part.

    Hi,
    Performence in declaration.
    Data Types:
      TYPES : BEGIN OF itab,
               bukrs TYPE t001-bukrs,
               ktopl TYPE t001-ktopl,
              END OF itab.
    Work Ares:
    DATA:  wa_itab         TYPE itab,
    Int Table:
    it_itab         TYPE STANDARD TABLE OF itab,
    CONSTANTS: lc_n           TYPE char1 
    this is my declaration ..so to improve the declaration wise is any other way to improve performence.
    By,
    Kmr.

    Hi ,
    There is no such concept that performance is dependent of declaration of types , workarea and internal tables.
    In internal tables case, type of internal table used can help to improve performance.
    Only, you can follow client standards in declaration of these.
    In you case , you can change code as below
    TYPES : BEGIN OF itab,
    bukrs TYPE bukrs, "Use Data element rather than field
    ktopl TYPE ktopl, "Use Data element rather than field
    END OF itab.
    Hope this helps you.

  • Unreported exception java.lang.Exception; must be caught or declared

    I've got a piece of code that's causing an error during compilation.
    W:\Java\Covenant\src\covenant\Login.java:174: unreported exception java.lang.Exception; must be caught or declared to be thrownThe line of code it is refering to is:
    new Overview().setVisible(true);And it is part of a try/catch statement:
        private void logincheck(java.awt.event.ActionEvent evt) {                           
            try {
                char[] PasswordInput = Password.getPassword();
                String PasswordRaw = new String(PasswordInput);
                String Passwordmd5 = md5(PasswordRaw);
                String UsernameInput = Username.getText();
                URL theUrl = new URL("http://www.phoenixrising.at/iris/validate.php?login=1&u=" + UsernameInput + "&p=" + Passwordmd5 +"");
                BufferedReader in = new BufferedReader(
                        new InputStreamReader(
                        theUrl.openStream()));
                String inputLine = in.readLine();
                if (inputLine.equals("valid")) {
                    new Overview().setVisible(true);
                    this.setVisible(false);
                    System.out.println( "You have entered the correct password" );
                } else {
                    System.out.println(theUrl);
                in.close();
            } catch (MalformedURLException ex) {
                ex.printStackTrace();
            } catch (IOException ex) {
                ex.printStackTrace();
        }      Can anyone see what might be causing this error?

    Can anyone see what might be causing this error? That line of code declares that it throws exception java.lang.Exception, so you must either catch it ("must be caught" - like you do the more specific Exceptions) or declare your logincheck method to throw it ("or declared to be thrown").

  • What for? (2nd part global declaration in transformation)

    Hi Experts,
    does anybody know, what for is the 2nd part global declaration in a routine of a transformation?
    Myself I'm a developer, so I can differ between global and local declaration in a class-definition. But the second possibility to declare variables is outside of class-definition and class-implementation.
    I checked start routine, end routine and character/ keyfigure routine. I can see both of the declaration. Does it makes any sence to use this declaration?
    $$ begin of global - insert your declaration only below this line  -
        ... "insert your code here
    $$ end of global - insert your declaration only before this line   -
    $$ begin of 2nd part global - insert your code only below this line  *
    ... "insert your code here
    $$ end of 2nd part global - insert your code only before this line   *
    Thanks in advance.
    Greets Nico

    Hi Lijo,
    first, thank you for you answer.
    I'm not sure if I got it.
    If you want to use a global variable for all packages that will be processed, I have to declare a CLASS-DATA. That means the instance of the class won't be deleted the whole data package.
    If I want to use a global variable that will be used in character/ keyfigure routine it's sufficient to declare DATA in 1st or 2nd part of declaration.
    I understand it in a way, that the second declaration part is redundant. Is it right?
    Thanks in advance.
    Greets Nico

  • WARNING: Problem validating implementation class. Exception declaration mis

    I have created sample class using JDevStudio10.1.3
    Added method getX() throws Ex (Ex implements Exception)
    Select class and generated J2EE 1.4 RPC webservices
    Got the warning :
    Generating WSDL and mapping file
    WARNING: Problem validating implementation class. Exception declaration mismatch between Implementation: mypackage.Class3 and Interface: mypackage.MyWebService3. Impl class Method: X declares exceptions not declared by the interface (mypackage.Exp)
    Now When I generated client proxy from the wsdl generated, Ex class is not getting generated.
    Can some one help me please.
    Thanks in advance

    If you are using Ex in the implemetation class, make sure that you also include the same in the interface (or SEI).
    If the implementation looks something like:
    public void doSomething() throws Ex {
    System.out.println("Is there something to do, now ?");
    then the SEI should be:
    public void doSomething() throws Ex, RemoteException;
    If your have ommited Ex, then you will have the warning you are seing, and there wont be any artifact generated for Ex in the WSDL.
    Because the Ex exception was not mapped to any WSDL artifact, there is no way you will see the Ex exception generated on the client side (or proxy).
    I have been able to reproduce your error message, so you should be all good.
    WARNING: Problem validating implementation class. Exception declaration mismatch between Implementation: bugyyy.MyServiceImpl and Interface: bugyyy.MyWebService. Impl class Method: doSomething declares exceptions not declared by the interface (bugyyy.Ex)
    Hope this helps,
    Eric

  • Catching exceptions in a declarative way....

    Hi all,
    I'd like to catch my exceptions as declared in my web.xml file
    <error-page>
    <exception-type>javax.servlet.ServletException</exception-type>
    <location>/error.jsp</location>
    </error-page>
    the problem is that this approach doesn't work with servlets:
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    throw new javax.servlet.ServletException("errore");
    this doesn't redirect to error.jsp, but it simply crashes the navigation with the stack trace.
    On the other hand with JSP...
    <%
    throw new javax.servlet.ServletException("errore da jsp");
    %>
    it works. I'm using Tomcat 4.1 container.
    Any help ???
    Thanks
    Francesco

    hey,
    i am not usre if u can do that.. but a better a way to handle exception and redirect to an error page is.. in every jsp/ or servlet generated page add
    <%@ page errorPage="errorpage.htm"%>
    So when ever an error or exception is encounterd the error page is automatically opened. in this case errorpage.htm is opened ..
    hope this will help u ..

  • How to declare a string parameter

    Hi all,
    I declared a parameter of type string in parameters declaration part. System giving me a error as 'deep data type "string" is not allowed'.
    My requirement is to declare a parameter of type string for file name in GUI_DOWNLOAD FM. If I declare any other type its goin for a short dump. How to do it. Please give relevant code for it if possible.

    Hi,
    Please check, For file download,, and declaring file as parameters, all scenarios are covered,
    Please go through code.Hope it work well for your requirement.
    Reward all helpful answers.
    Thanks.
    REPORT Zxyx NO STANDARD PAGE HEADING MESSAGE-ID zf.
    *Table Declarations
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS     : cb_box1  TYPE c AS CHECKBOX.
    PARAMETERS     : p_wsfile LIKE rlgrap-filename.
    PARAMETERS     : cb_box2  TYPE c AS CHECKBOX.
    PARAMETERS     : p_lpfile LIKE rlgrap-filename DEFAULT c_lpat.
    SELECTION-SCREEN END OF BLOCK b2.
                      INITIALIZATION
    INITIALIZATION.
                      AT SELECTION-SCREEN
    AT SELECTION-SCREEN OUTPUT.
    Change to Display Mode for Logical Path
      PERFORM lpdisplay.
    AT SELECTION-SCREEN.
    Validate Input At Selection Screen
      PERFORM screen_validation.
    Authority Check
      PERFORM authority_check.
    Assist file Path for Download
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_wsfile.
      PERFORM get_path.
                      START-OF-SELECTION.
    START-OF-SELECTION.
    Get all Accounting Document Details
      PERFORM get_bkpf.
                      END-OF-SELECTION.
    END-OF-SELECTION.
      IF i_bkpf IS INITIAL.
        MESSAGE s001(zf) WITH 'No Records Found for the Selection'(003).
      ELSE.
    Prepare Download Table
        PERFORM fill_download.
    Submit to gui_download.
        IF NOT cb_box1 IS INITIAL.
          PERFORM download_csv USING p_wsfile.
        ENDIF.
    Download to Logical Path.
        IF NOT cb_box2 IS INITIAL.
          PERFORM logicalpath_download.
        ENDIF.
      ENDIF.
    *&                      Form  screen_validation
                  At Selection Screen Validation for Inputs.
    FORM screen_validation.
    *Validation for company code
      IF NOT p_bukrs IS INITIAL.
        SELECT COUNT(*) FROM t001 WHERE bukrs = p_bukrs.
        IF sy-subrc NE 0.
          MESSAGE e001(zf) WITH 'Company Code(s) not found'(004).
        ENDIF.
      ENDIF.
    ENDFORM.                    " screen_validation
    *&                    Form  authority_check
                          Authority Check
    FORM authority_check.
    ENDFORM.                    " authority_check
    *&                        Form  get_bkpf
                          Get Document Details
    FORM get_bkpf.
      SELECT
                bukrs     "Company Code
        IF sy-subrc = 0.
          SORT i_kna1 BY kunnr.
        ENDIF.
      ENDIF.
    ENDFORM.                    " get_bkpf
    *&                    Form  fill_download
                       Prepare Download Table
    FORM fill_download.
      DATA : v_flag TYPE c.
      v_taxsum = 0.
      SORT i_bseg BY belnr buzei.
    ENDFORM.                    " summary_build
    *&                      Form  download_csv
                      Download To Pipe CSV File
    FORM download_csv USING v_p_wsfile LIKE rlgrap-filename.
      DATA : v_time LIKE sy-uzeit,
             v_date LIKE sy-datum,
             v_fname TYPE string.
      v_time = sy-uzeit.
      v_date = sy-datum.
      IF p_bukrs = '2000'.
        CONCATENATE v_p_wsfile c_csg v_date v_time c_2000
                                   '.TXT' INTO v_p_wsfile.
        v_fname = v_p_wsfile.
      ELSEIF p_bukrs = '3110'.
        CONCATENATE v_p_wsfile c_ams v_date v_time c_2000
                                   '.TXT' INTO v_p_wsfile.
        v_fname = v_p_wsfile.
      ENDIF.
      CALL FUNCTION 'GUI_DOWNLOAD'
           EXPORTING
                filename                = v_fname
                filetype                = 'ASC'
           TABLES
                data_tab                = i_csv[]
           EXCEPTIONS
                file_write_error        = 1
                no_batch                = 2
                gui_refuse_filetransfer = 3
                invalid_type            = 4
                no_authority            = 5
                unknown_error           = 6
                header_not_allowed      = 7
                separator_not_allowed   = 8
                filesize_not_allowed    = 9
                header_too_long         = 10
                dp_error_create         = 11
                dp_error_send           = 12
                dp_error_write          = 13
                unknown_dp_error        = 14
                access_denied           = 15
                dp_out_of_memory        = 16
                disk_full               = 17
                dp_timeout              = 18
                file_not_found          = 19
                dataprovider_exception  = 20
                control_flush_error     = 21
                OTHERS                  = 22.
      IF sy-subrc <> 0.
        MESSAGE e001(zf) WITH v_fname
                         'Sorry, File download Unsucessful'(008).
      ELSE.
        MESSAGE s001(zf) WITH v_fname 'Download Sucessful'(009).
      ENDIF.
    ENDFORM.                    " download_csv
    *&                      Form  get_path
                   Get The File Path for Download.
    FORM get_path.
    Provide F4 Help for Download Path Selection
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
           EXPORTING
                program_name  = 'ZFIPDRDGCSV'
                dynpro_number = sy-dynnr
                field_name    = p_wsfile
           CHANGING
                file_name     = p_wsfile
           EXCEPTIONS
                mask_too_long = 1
                OTHERS        = 2.
      IF sy-subrc <> 0.
        MESSAGE s001(zf) WITH 'Given Path Unsucessful'(010).
      ENDIF.
    ENDFORM.                    " get_path
    *&                      Form  lpdisplay
                Diaply the Logical path In NON EDIT MOde
    FORM lpdisplay.
      LOOP AT SCREEN.
        IF screen-name = 'P_LPFILE'.
          screen-input = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " lpdisplay

  • Unchecked exceptions

    From a book:
    "When a class undergoes revision, it is not a violation of source or binary compatibility if an exported method is modified to throw additional unchecked exceptions.
    Suppose a class invokes a method from another, independently written class. The authors of the former class may carefully document all of the unchecked exceptions that each method throws, but if the latter class is revised to throw additional unchecked exceptions, it is quite likely that the former class (which has not undergone revision) will propagate the new unchecked exceptions even though it does not declare them."
    What does the last line about propagating mean? It sounded pretty simple up until then...what I got was that your code can call other code that can add unchecked exceptions at any time...correct? I just don't understand the ending.
    Thanks.

    But I thought one main differentiating factor of
    unchecked exceptions is (more often than not -- if
    not always) that you cannot recover from them.You generally either can't or shouldn't, because they're a sign of a programming error or of seros system trouble.
    I'd think it'd be an irrelevant point that a callee
    could add new unchecked exceptions because (forget
    the new unchecked exceptions)It's worth making it clear that unchecked exceptions are not part of the method's contract.
    what's a coder to do
    with unchecked exceptions the callee already HAS
    documented!?Usually nothing. Often it's just worth documenting them as a way laying out preconditions, assumptions, and limitations of the method being called.

  • Why do I need to catch this exception?

    Hello all
    This is a question about exception handling. I have to build a diary application that lets you save reminders on particular dates using xml. Just to make it a little tougher, I was not allowed to use the Calendar class. This is the code I wrote:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    import java.text.*; 
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import java.io.*;     
    import org.w3c.dom.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;                                                                                                                                                                                                                         
    import static java.lang.Math.*;
    public class CalendarAssignment extends JFrame implements ActionListener
         int MonthLength [] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
         public JButton [] days = new JButton[43];
         private JLabel lbl, reminderlbl;
         private JPanel top, grid, remindercenter, reminderbottom;
         private JFrame reminderframe;
         private JTextField year1, reminderinput, dayno;
         private JComboBox months;
         private Container container;
         private JButton fetch, save, cancel;
         private Document doc;
         private File file;
         private Node node;
         private String year, month, day;
              public static void main( String[] args ) {
                   CalendarAssignment c = new CalendarAssignment( );
                   c.setSize( 400, 300 );
                   c.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
                   c.show( );
              public CalendarAssignment( ) {
                   int CurrentYear, CurrentMonth;
                   String YearString, MonthString, Now;
                   Date today;
                   container = getContentPane( );
                   container.setLayout( new BorderLayout( ) );
                   SimpleDateFormat DateFormatter;
                   DateFormatter = new SimpleDateFormat( "MM.yyyy" );
                   today = new Date( );
                   Now = DateFormatter.format( today );
                   MonthString = Now.substring( 0,2 );
                   YearString = Now.substring( 3,7 );
                   CurrentMonth = Integer.valueOf( MonthString );
                   CurrentYear = Integer.valueOf( YearString );
                   top = new JPanel( );
                        String [] items = { "January", "February", "March", "April", "May", "June",
                                      "July", "August", "September", "October", "November",
                                      "December" };
                        months = new JComboBox( items );
                        months.setEditable( false );
                        months.setSelectedIndex( CurrentMonth - 1 );          
                        year1 = new JTextField( );
                        year1.setText( YearString );
                        year1.setEditable( true );
                        year1.setHorizontalAlignment( year1.CENTER );
                        fetch = new JButton( "Fetch Month" );
                        fetch.addActionListener( this );
                        top.setLayout( new GridLayout( 1, 3, 20, 0 ) );
                        top.add( months );
                        top.add( year1 );
                        top.add( fetch );
                   grid = new JPanel( );
                        grid.setLayout( new GridLayout( 7, 7, 0, 0 ) );
                        String [] week = { "Mon", "Tue", "Wed", "Thur", "Fri", "Sat", "Sun" };
                        for ( int a = 0; a < 7; a ++ ) {
                                  JLabel lbl = new JLabel( week[a], JLabel.CENTER );
                                  grid.add( lbl );
                        for ( int i = 0; i < 42; i ++ ) {
                                  days[i] = new JButton( );
                                  grid.add( days[i] );
                                  days.addActionListener( this );
                        DrawCalendar( CurrentMonth, CurrentYear );
                        container.add( top, BorderLayout.NORTH );
                        container.add( grid, BorderLayout.CENTER );
              private void DrawCalendar( int SelectMonth, int SelectYear ) {
                        int DisplayMonthLength, Buttons;
                        String ButtonID = "";
                        int OffSet = MonthStart( SelectMonth, SelectYear );
                        DisplayMonthLength = MonthLength [SelectMonth - 1];
                        if ( SelectMonth == 2 )
                             DisplayMonthLength += LeapYear( SelectYear );
                        for ( Buttons = 1; Buttons < 43; Buttons ++ ) {
                             if ( ( Buttons <= OffSet ) || ( Buttons > ( DisplayMonthLength + OffSet ) ) ) {
                                  ButtonID = "";
                                  days[Buttons-1].setEnabled( false );
                             else {
                                  ButtonID = Integer.toString( Buttons - OffSet );
                                  days[Buttons-1].setEnabled( true );
                        days[Buttons-1].setLabel( ButtonID );
                        grid.add( days[Buttons-1] );
              private int LeapYear( int year ) {
                        int FourHundred, OneHundred, Fourth;
                        FourHundred = year % 400;
                        OneHundred = year % 100;
                        Fourth = year % 4;
                        if( ( ( FourHundred == 0 ) ) || ( ( OneHundred != 0 ) && ( Fourth == 0 ) ) )
                             return ( 1 );
                        else
                             return ( 0 );
              private int MonthStart( int Month, int Year ) {
                        int OffSet, LastMonths, BeforeOrAfter, Years;
                        int AllDays = 0;
                        int YearDays = 365;
                        int YearMonths = 12;
                        BeforeOrAfter = Year - 2006;
                        Years = abs( BeforeOrAfter );
                        if( BeforeOrAfter != 0 )
                             BeforeOrAfter = BeforeOrAfter / Years;
                        switch( BeforeOrAfter ) {
                             case 1:
                                  for( int a = 2006; a < Year; a ++ ) {
                                       AllDays += YearDays + LeapYear( a );
                                  AllDays += LastMonthsCalc( Month, Year );
                             break;
                             case -1:
                                  for( int a = 2005; a > Year; a -- ) {
                                       AllDays += YearDays + LeapYear( a );
                                  for( LastMonths = YearMonths; LastMonths >= Month; LastMonths -- ) {
                                       AllDays += MonthLength[LastMonths - 1];
                                       if( LastMonths == 2 )
                                            AllDays += LeapYear( Year );
                             break;
                             default:
                                  if( Month > 1 )
                                       AllDays += ( LastMonthsCalc( Month, Year ) );
                        OffSet = AllDays % 7;
                        if( BeforeOrAfter ==( -1 ) )
                             return( 6 - OffSet );
                        else if( OffSet > 0 )
                             return( OffSet - 1 );
                        else
                             return( 6 );
              private int LastMonthsCalc( int Month, int Year ) {
                        int Counter;
                        int days = 0;
                        for( Counter = 1; Counter < Month; Counter ++ ) {
                             days += MonthLength[Counter - 1];
                             if( Counter == 2 )
                                  days += LeapYear( Year );
                        return( days );
              public void CreateReminder( String buttonID, String yearID, String monthID ) {
                        reminderframe = new JFrame( );
                        reminderlbl = new JLabel( );
                        reminderframe.setLayout( new GridLayout( 2, 1, 0, 0 ) );
                        remindercenter = new JPanel( );
                             reminderlbl = new JLabel( "Please type in reminder to be saved for " + buttonID + " " + monthID + " " + yearID + ":", JLabel.CENTER );
                             reminderinput = new JTextField( 30 );
                             reminderinput.setHorizontalAlignment( reminderinput.CENTER );
                             reminderinput.setEditable( true );
                             remindercenter.setLayout( new GridLayout( 2, 1, 0, 0 ) );
                             remindercenter.add( reminderlbl );
                             remindercenter.add( reminderinput );
                        reminderbottom = new JPanel( );
                             save = new JButton( "Save" );
                             save.addActionListener( this );
                             cancel = new JButton( "Cancel" );
                             cancel.addActionListener( this );
                             dayno = new JTextField( buttonID );
                             dayno.setEditable( false );
                             dayno.setEnabled( false );
                             dayno.show( false );
                             reminderbottom.setLayout( new FlowLayout( ) );
                             reminderbottom.add( save );
                             reminderbottom.add( cancel );
                             reminderbottom.add( dayno );
                        reminderframe.setSize( 500, 75 );
                        reminderframe.add( remindercenter );
                        reminderframe.add( reminderbottom );
                        reminderframe.pack( );
                        reminderframe.show( );
              public void SaveReminder( String dayID, String yearID, String monthID ) throws Exception {
                        file = new File( "Diary.xml" );
                        doc = DocumentBuilderFactory.newInstance( ).newDocumentBuilder( ).parse( file.toURL( ).toString( ) );
                        String year = yearID;
                        String month = monthID;
                        String day = dayID;
                        //System.out.println( year );
                        //System.out.println( month );
                        //System.out.println( day );
                        CreateEntry( doc.getDocumentElement( ) );
                        writeXmlFile( );
              public boolean CreateEntry( Node node ) {
                        Node searchNode;
                        searchNode = getYear( node );
                        if( searchNode == null ) {
                             Element newNode = doc.createElement( "Year" );
                             searchNode = node.appendChild( newNode );
                             newNode.setAttribute( "Id", year );
                        node = searchNode;
                        searchNode = getMonth( node );
                        if( searchNode == null ) {
                             Element newNode = doc.createElement( "Month" );
                             searchNode = node.appendChild( newNode );
                             newNode.setAttribute( "Id", month );
                        node = searchNode;
                        searchNode = getDay( node );
                        if( searchNode == null ) {
                             Element newNode = doc.createElement( "Day" );
                             searchNode = node.appendChild( newNode );
                             newNode.setAttribute( "Id", day );
                        node = searchNode;
                        String entry = reminderinput.getText( );
                        Node textNode = doc.createTextNode( entry );
                        node.appendChild( textNode );
                        return true;
              private Node getYear( Node node ) {
                        node = node.getFirstChild( );
                        while( node != null ) {
                             if(node.getNodeName( ).equals( "Year" ) && String.valueOf( node.getAttributes( ).item( 0 ).getNodeValue( ) ) == year )
                                  return node;
                                  node = node.getNextSibling( );                    
                        return null;
              private Node getMonth( Node node ) {
                        node = node.getFirstChild( );
                        while( node != null ) {
                             if( node.getNodeName( ).equals( "Month" ) && String.valueOf( node.getAttributes( ).item( 0 ).getNodeValue( ) ) == month )
                                  return node;
                                  node = node.getNextSibling( );                    
                        return null;
              private Node getDay( Node node ) {
                        node = node.getFirstChild( );
                        while( node != null ) {
                             if( node.getNodeName( ).equals( "Day" ) && String.valueOf( node.getAttributes( ).item( 0 ).getNodeValue( ) ) == day )
                                  return node;
                                  node = node.getNextSibling( );                    
                        return null;
              private void writeXmlFile( ) throws Exception {
                   Source source = new DOMSource( doc );
                        Result result = new StreamResult( file );
                   Transformer xformer = TransformerFactory.newInstance( ).newTransformer( );
                   xformer.setOutputProperty( OutputKeys.INDENT,"yes" );
                   xformer.setOutputProperty( OutputKeys.DOCTYPE_SYSTEM,"Diary.dtd" );
                   xformer.transform( source, result );
              public void actionPerformed( ActionEvent e ) {
                        String IDButton = e.getActionCommand( );
                        String IDYear = year1.getText( );
                        Object IDMonthObj = months.getSelectedItem( );
                        if( e.getSource( ) == fetch ) {
                             String YearText = year1.getText( );
                             int YearNumber = Integer.valueOf( YearText );
                             int MonthsIndex = months.getSelectedIndex( ) + 1;
                             DrawCalendar( MonthsIndex, YearNumber );
                        else if( e.getSource( ) == cancel ) {
                             reminderframe.hide( );
                        else if( e.getSource( ) == save ) {
                             String IDDay = dayno.getText( );
                             String IDMonth = String.valueOf( IDMonthObj );
                             SaveReminder( IDDay, IDYear, IDMonth );
                        else {
                             String IDMonth = String.valueOf( IDMonthObj );
                             Toolkit.getDefaultToolkit( ).beep( );
                             int n = JOptionPane.showConfirmDialog( null, "Set reminder on this date?", "Question", JOptionPane.YES_NO_OPTION );
                             if( n == JOptionPane.YES_OPTION ) {
                                  CreateReminder( IDButton, IDYear, IDMonth );
    If you compile it, you will realise that I get an error about exception handling. My lecturer gave me an example code of how to do the same thing without using a GUI:
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import java.io.*;
    import java.util.*;
    import org.w3c.dom.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    public class CallDOM
         Document doc;
         File file;
         Scanner input;
         int year, month, day;
         String currentYear, currentMonth;
         public static void main(String args[]) throws Exception
              CallDOM cd=new CallDOM();          
         CallDOM() throws Exception
              file=new File("Diary.xml");
              //create DOM from file
              doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file.toURL().toString());
              input=new Scanner(System.in);
              System.out.println("1) Create entry");
              System.out.println("2) Read entry");
              System.out.println("3) Show Diary");
              System.out.println("4) Quit");
              int choice=input.nextInt();
              while(choice!=4)
                   switch(choice)
                        case 1: GetDate();CreateEntry(doc.getDocumentElement());break;
                        case 2: GetDate();ReadEntry(doc.getDocumentElement());break;
                        case 3: ShowDiary(doc.getDocumentElement());
                   System.out.println("1) Create entry");
                   System.out.println("2) Read entry");
                   System.out.println("3) Show Diary");
                   System.out.println("4) Quit");
                   choice=input.nextInt();
              writeXmlFile();
         public void GetDate()
              System.out.println("Enter date (dd mm yyyy)");
              day=input.nextInt();
              month=input.nextInt();
              year=input.nextInt();
         public boolean ReadEntry(Node node)
              node = getYear(node);
              if(node==null) return false;
              node = getMonth(node);
              if(node==null) return false;
              node = getDay(node);
              if(node==null) return false;
              node = node.getFirstChild();
              while(node!=null)
                   System.out.println(node.getNodeValue().trim());     
                   node=node.getNextSibling();
              return true;               
         public boolean CreateEntry(Node node)
              Node searchNode;
              searchNode = getYear(node);
              if(searchNode==null)
                   Element newNode = doc.createElement("Year");
                   searchNode = node.appendChild(newNode);
                   newNode.setAttribute("Id",Integer.toString(year));
              node = searchNode;
              searchNode = getMonth(node);
              if(searchNode==null)
                   Element newNode = doc.createElement("Month");
                   searchNode = node.appendChild(newNode);
                   newNode.setAttribute("Id",Integer.toString(month));
              node = searchNode;
              searchNode = getDay(node);
              if(searchNode==null)
                   Element newNode = doc.createElement("Day");
                   searchNode = node.appendChild(newNode);
                   newNode.setAttribute("Id",Integer.toString(day));
              node = searchNode;
              System.out.println("Enter Text");
              String entry=input.next();
              entry+=input.nextLine();
              Node textNode = doc.createTextNode(entry);
              node.appendChild(textNode);
              return true;               
         public void ShowDiary(Node node)
              Stack<Node> stack=new Stack<Node>();
              Node child;
              stack.push(node);
              while(!stack.empty())
                   node = stack.pop();
                   if(ProcessNode(node))
                        child = node.getLastChild();
                        while(child!=null)
                             stack.push(child);
                             child = child.getPreviousSibling();
         private boolean ProcessNode(Node node)
              if(node.getNodeName().equals("Year"))
                   currentYear=node.getAttributes().item(0).getNodeValue();
              if(node.getNodeName().equals("Month"))
                   currentMonth=node.getAttributes().item(0).getNodeValue();
              if(node.getNodeName().equals("Day"))
                   System.out.print(node.getAttributes().item(0).getNodeValue()+"/"+
                                            currentMonth+"/"+currentYear+": ");
                   node=node.getFirstChild();
                   while(node!=null)
                        System.out.println(node.getNodeValue().trim());
                        node=node.getNextSibling();
                   return false;
              return true;               
         private Node getYear(Node node)
              node=node.getFirstChild();
              while(node!=null)
                   if(node.getNodeName().equals("Year")
                        && Integer.valueOf(node.getAttributes().item(0).getNodeValue())==year)
                             return node;
                   node = node.getNextSibling();                    
              return null;
         private Node getMonth(Node node)
              node=node.getFirstChild();
              while(node!=null)
                   if(node.getNodeName().equals("Month")
                        && Integer.valueOf(node.getAttributes().item(0).getNodeValue())==month)
                        return node;
                   node = node.getNextSibling();                    
              return null;
         private Node getDay(Node node)
              node=node.getFirstChild();
              while(node!=null)
                   if(node.getNodeName().equals("Day")
                        && Integer.valueOf(node.getAttributes().item(0).getNodeValue())==day)
                        return node;
                   node = node.getNextSibling();                    
              return null;
         private void writeXmlFile() throws Exception
            Source source = new DOMSource(doc);
            Result result = new StreamResult(file);
            Transformer xformer = TransformerFactory.newInstance().newTransformer();
            xformer.setOutputProperty(OutputKeys.INDENT,"yes");
            xformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"Diary.dtd");
            xformer.transform(source, result);
    }My question is, why does the exceptions in the example code not need to be caught? And why do I have to catch the exceptions in my code? Several exceptions are thrown in the example code, but there is no catch statement.
    Thanks for any advice!!

    Since your question didn't come with any relevant details, and since you have huge steaming piles of irrelevant code, all I can give is a general answer to "Why do I need to catch this exception?"
    [url http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html]Exception tutorial at http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html
    Here's a quick overview of exceptions:
    The base class for all exceptions is Throwable. Java provides Exception and Error that extend Throwable. RuntimeException (and many others) extend Exception.
    RuntimeException and its descendants, and Error and its descendants, are called unchecked exceptions. Everything else is a checked exception.
    If your method, or any method it calls, can throw a checked exception, then your method must either catch that exception, or declare that your method throws that exception. This way, when I call your method, I know at compile time what can possibly go wrong and I can decide whether to handle it or just bubble it up to my caller. Catching a given exception also catches all that exception's descendants. Declaring that you throw a given exception means that you might throw that exception or any of its descendants.
    Unchecked exceptions (RuntimeException, Error, and their descendants) are not subject to those restrictions. Any method can throw any unchecked exception at any time without declaring it. This is because unchecked exceptions are either the sign of a coding error (RuntimeException), which is totally preventable and should be fixed rather than handled by the code that encounters it, or a problem in the VM, which in general can not be predicted or handled.

Maybe you are looking for

  • Windows vista not supported

    is windows vista no longer supported? when  i try download the trial it says my system is no longer supported its a vista 32 bit. does this mean i would have to get a new computer or upgrade my system in oreder to use photoshop ? im confused, also i

  • Dynamic variable name in trigger

    hi , i would like create audit trail for a table thru trigger where column_name must be dynamic... is it possible to fetch :new.column_name and its value dynamically ? pls help.

  • Can replaceAll do what I want?

    Hi I have a string "This is My string my way" This text will be in a button's text property. What I would like to do is add a html tag like the font tag to certain parts of the string to make it another color. The user will for instance provide the i

  • Passing data through webservices.

    Hi All, I have two doubts. 1. Can we call a webservice without calling creating an ABAP Proxy? 2. If yes how can i pass my internal table through webservice. any code snippet or wiki link regarding this will be very helpful. TIA Vikash Singh

  • Message: Vendor not assigned to Plant

    Hi All, I am creating a standard PO for raw material. While creating I am getting a message : Vendor not assigned to Plant. This message should not come as my PO is not a inter-company PO. Can someone help me. Thanks, Vengal Rao.