处理线程时的奇怪groovy行为

处理线程时的奇怪groovy行为,groovy,Groovy,我有一个有趣的两难选择 如果我将我的类定义为: class Browser { def swtException protected Object evaluate(script) throws SWTException { swtException=null display.syncExec() { try { result=swtBrowser.evaluate(script)

我有一个有趣的两难选择

如果我将我的类定义为:

 class Browser {
      def swtException
      protected Object evaluate(script) throws SWTException {
         swtException=null
         display.syncExec() {
         try {
         result=swtBrowser.evaluate(script)
         } catch (SWTException swtException) {
         Browser.swtException=swtException
         }
      }
 }
我得到了一个相当有趣的错误:

线程“thread-5”org.eclipse.swt.SWTException中的异常:未能执行runnable(groovy.lang.MissingPropertyException:没有此类属性:类的SWTException :com.mksoft.fbs.browser.browser 可能的解决方案:SWTEX(异常)

有什么想法吗

谢谢大家!!
Misha

可能是因为您试图以静态方式访问类的属性?您似乎引用了
Browser.swtException
,但
Browser
是一个类,而不是一个对象实例

您应该将
swtException
声明为
static
或使用
this.browser
访问当前对象之一