これは私が取り組んできた学校の課題です。私は家庭教師と行ったり来たりして、彼はこれで私を助けてくれましたが、ここで明らかに欠けているものがあります. 問題のプログラムは引数「-f filename.txt」を取り、そのファイル名には次のようなもののリストがあります
FansOn, 2000
FansOff, 4000
Bell, 2000,5
プログラムはこれらの名前を取得し、リフレクションを使用してクラスを作成し、生成されたクラス (FansOn など) の action() メソッドを呼び出します。クラスごとにスレッドを作成してからスレッドを開始すると、「ファンがオンになっています」などのメッセージが生成されます。PowerOut と WindowMalfunction の 2 つのイベントで、カスタム例外 ControllerException をスローします。この例外は、呼び出されたオブジェクトを取得し、後で調べるためにGreenhouseControls
呼び出されたファイルにシリアル化する必要があります。dump.out
私が抱えている問題は、自分の電話をかけることができることですghcSuspend()
例外呼び出しの直後にすべてのイベントを中断するメソッド。実際、この時点で、私のプログラムは大規模なスタック オーバーフローの問題を生成するだけです。ここにコード全体を投稿する必要があるかどうかはわかりません。他の誰かが私のコースを受講してコードの大部分を手渡されることを明らかに望んでいないため、皆さんに私の問題を理解してもらうために何を投稿すればよいかわかりません.
したがって、私のmain()
方法では、GreenhouseControls
gc というオブジェクトを作成します。GreenhouseControls は、メイン クラス ファイルの名前です。最終的に、カスタム例外でこの gc オブジェクトが必要になります。これは、events.class ファイルで定義およびキャッチされます。