Threads die due to problems catching exceptions

Hi,

I am executing some queries using “Tamino API for Java” from a Websphere Portlet. Those queries are executed in separate threads.

Because of an implementation error, a thread could execute one query using a closed connection so it generated an error.
The problem is that I catch all posible exceptions (using Exception class in catch clause) but the thread dies due to the closed connection situation.

This is the server log…

[1/27/05 9:15:24:856 CET] 410f788a SystemErr R com.softwareag.common.instrumentation.contract.ViolatedPrecondition: Violated Precondition: Connection with Tamino is closed. Commands cannot be invoked on Tamino anymore!

[1/27/05 9:15:24:926 CET] 410f788a SystemErr R at com.softwareag.common.instrumentation.contract.Precondition.check(Unknown Source)(Compiled Code)

[1/27/05 9:15:24:926 CET] 410f788a SystemErr R at com.softwareag.tamino.db.api.invocation.http.THTTPInvocation.doInvoke(Unknown Source)

[1/27/05 9:15:24:926 CET] 410f788a SystemErr R at com.softwareag.tamino.db.api.invocation.TAbstractInvocation.doTemplateInvoke(Unknown Source)

[1/27/05 9:15:24:946 CET] 410f788a SystemErr R at com.softwareag.tamino.db.api.invocation.TAbstractInvocation.invoke(Unknown Source)

[1/27/05 9:15:24:946 CET] 410f788a SystemErr R at com.softwareag.tamino.db.api.accessor.TAbstractAccessor.invoke(Unknown Source)

[1/27/05 9:15:24:946 CET] 410f788a SystemErr R at com.softwareag.tamino.db.api.accessor.TStreamAccessorImpl.query(Unknown Source)

[1/27/05 9:15:24:946 CET] 410f788a SystemErr R at com.softwareag.tamino.db.api.accessor.TXMLObjectAccessorImpl.query(Unknown Source)

[1/27/05 9:15:25:046 CET] 410f788a SystemErr R at es.ahold.business.qac.common.bl.entity.TaminoBaseEntity.executeQuery

why the error is not caught? has that precondition an special processing?

thanks.

Cesar

Hi

ViolatedPrecondition is an error and not exception. Meaning com.softwareag.common.instrumentation.contract.ViolatedPrecondition class extends java.lang.Error class and not java.lang.Exception. And thats why you are not able to catch it.

Regards,

Vikram Shinde