处理线程时奇怪的常规行为

时间:2010-06-13 02:40:27

标签: groovy

我有一个有趣的困境。

如果我将我的课程定义为:

 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.fbautomate.browser.Browser 可能的解决方案:swtException)

任何想法???

谢谢! 米莎

1 个答案:

答案 0 :(得分:1)

也许是因为您试图以静态方式访问类的属性?你似乎引用Browser.swtExceptionBrowser是一个类,而不是一个对象实例。

您应该将swtException声明为static或使用this.browser来访问您当前的某个对象。