尝试在调用自定义异常后挂起线程

时间:2011-12-08 03:40:18

标签: java multithreading events custom-exceptions

这是我一直在做的学校作业。我和我的导师一直在来回和他一直在帮助我,但是我在这里明显缺少一些东西。有问题的程序带有一个参数,“ - f filename.txt”,并且该文件名是这样的事情列表

FansOn, 2000
FansOff, 4000
Bell, 2000,5

程序确实接受这些名称并使用反射创建类,然后调用生成的类(FansOn等)的action()方法。它为每个类创建一个线程,然后启动线程,生成一条消息,如“Fan is on”。在PowerOut和WindowMalfunction两个事件中,它抛出一个自定义异常ControllerException,然后需要获取一个名为GreenhouseControls的对象,并将其序列化为一个名为dump.out的文件,以便以后检查。我遇到的问题是能够调用我的ghcSuspend()方法,该方法应该在异常调用之后立即暂停所有事件。事实上,此时我的程序只会产生大量的堆栈溢出问题。我不知道我是否应该在这里发布我的整个代码,因为我显然不希望别人接受我的课程而只是获得大量的代码所以我不知道我应该发布什么来让你们了解我的问题

因此,在我的main()方法中,我创建了一个名为gc的GreenhouseControls对象。 GreenhouseControls是主类文件的名称。最后,我需要在我的自定义异常中使用这个gc对象,该异常是在我的events.class文件中定义和捕获的

1 个答案:

答案 0 :(得分:0)

我想出了这个。因为我的对象是在run方法中创建的,所以我基本上必须通过每个被一个接一个地调用的方法传递它,直到它到达我需要处理它的最终方法。我错过了一些基本的OO概念,最终创建了一个无限循环,溢出了我的堆栈。所以我们现在都很好。