If an anonymous user tries to look at a study which is not yet released (i.e. it's a "in progress" or "ready") the result is an Uncaught Exception Encountered. The result ought to be something more elegant, such as "These data are not yet available to the public" OR "These data are unknown" (if there is no study by that id).
Here is an example of an "in progress" study that produces this error:
http://treebasedb-dev.nescent.org:6666/treebase-web/search/study/summary.html?id=9920
Here's the error verbiage, by the way:
Uncaught Exception Encountered
org.cipres.treebase.web.controllers.SearchSummaryController$UnknownStudyError at
org.cipres.treebase.web.controllers.SearchSummaryController.formBackingObject(S
earchSummaryController.java:91) at org.cipres.treebase.web.controllers.SearchSum
maryController.formBackingObject(SearchSummaryController.java:60) at org.springf
ramework.web.servlet.mvc.AbstractFormController.getErrorsForNewForm(AbstractForm
Controller.java:358) at org.springframework.web.servlet.mvc.AbstractFormControll
er.showNewForm(AbstractFormController.java:338) at org.springframework.web.servl
et.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:
278) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(Abs
tractController.java:153) at org.springframework.web.servlet.mvc.SimpleControlle
rHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springfram
ework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:858) at or
g.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java
:792) at org.springframework.web.servlet.FrameworkServlet.processRequest(Framewo
rkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doGet(Fr
ameworkServlet.java:431) at javax.servlet.http.HttpServlet.service(HttpServlet.j
ava:627) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.
apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterCh
ain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applic
ationFilterChain.java:188) at org.displaytag.filter.ResponseOverrideFilter.doFil
ter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilt
erChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sp
ringframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(Op
enSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequest
Filter.doFilter(OncePerRequestFilter.java:75) at org.apache.catalina.core.Applic
ationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache
.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:
119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.j
ava:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.
doFilter(ApplicationFilterChain.java:188) at org.acegisecurity.util.FilterChainP
roxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity
.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:1
07) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(Filter
SecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualF
ilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.Exception
TranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecu
rity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274
) at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(
SecurityContextHolderAwareRequestFilter.java:81) at org.acegisecurity.util.Filte
rChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegis
ecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCha
inProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilt
er.doFilter(HttpSessionContextIntegrationFilter.java:191) at org.acegisecurity.u
til.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at o
rg.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at or
g.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90) at or
g.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilter
Chain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Appl
icationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.in
voke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextV
alve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardH
ostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorR
eportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.Standar
dEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connect
or.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Htt
p11Processor.process(Http11Processor.java:873) at org.apache.coyote.http11.Http1
1BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Leader
FollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$Contr
olRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:636) Coo
kies: JSESSIONID=[C0036217D51F8124936C87BBA883D514] __utma=[53240375.1924499357.
1236724314.1257296380.1257360601.37] __utmz=[53240375.1252007373.35.5.utmccn]