2011-12-08 56 views
0

這是我一直在努力的學校任務。我一直與我的導師來回,他一直在幫助我,但我明顯在這裏失去了一些東西。有問題的程序需要一個參數,「-f FILENAME.TXT」,並在該文件名都是這樣嘗試在自定義例外後暫停線程

FansOn, 2000 
FansOff, 4000 
Bell, 2000,5 

程序確實需要這些名稱並創建使用反射類,然後的事情列出來調用action( )生成的類的方法(FansOn等)。它爲每個類創建一個線程,然後啓動該線程,從而生成一條消息,如「Fan is on」。在兩個事件PowerOut和WindowMalfunction中,它引發一個自定義的異常ControllerException,然後需要獲取一個名爲GreenhouseControls的對象並將其序列化爲一個名爲dump.out的文件供以後檢查。我遇到的問題是能夠調用我的ghcSuspend()方法,該方法應該在異常調用後立即掛起所有事件。事實上,在這一點上我的程序只是產生了大量的堆棧溢出問題。我不知道我是否應該在這裏發佈我的整個代碼,因爲我顯然不希望其他人蔘加我的課程而只是拿到大量代碼,所以我不知道應該發佈什麼讓你們理解我的問題。

所以在我的main()方法中,我創建了一個叫做gc的對象GreenhouseControls。 GreenhouseControls是主要類文件的名稱。最終,我需要在我的自定義異常中定義這個gc對象,並在我的events.class文件中定義並捕獲該對象。

+0

??????????????? –

+0

我希望我知道如何更好地解釋它,而無需發佈整個代碼。其實如果你google谷歌GreenhouseControls.java,你會發現在互聯網上的問題的一些變化。其中一個實際上和我之前的任務一樣(基本上是同樣的問題,但沒有線程和反射)。 –

回答

0

我想到了這一點。因爲我的對象是在run方法中創建的,所以我基本上必須通過每個依次調用的方法來傳遞它,直到它達到我需要處理的最終方法。我錯過了一些基本的OO概念,最終造成了無限循環,使我的堆棧溢出。所以我們現在都很好。