atm我正在使用內部線程來調用方法。這個方法可以拋出一個異常。有沒有辦法在外部類中接收異常以對其作出反應? 或者我應該寫一個「workthread」並添加一個觀察者?Java是使用內部線程明智嗎?如果是,如何提取異常?
我實現了一個MVC模式。這個方法在我的模型中被調用。現在我想顯示有關異常的消息。所以我需要知道這個例外。
public void startServer(final String path, final int port, final double speedup) {
serverIsStopped = false;
new Thread() {
public void run() {
server = new SWTimeServer();
try{
server.startServer(port, speedup, path);
}catch (ClientDisconnectedException e) {
serverIsStopped = true;
//TODO
} catch (ParseException e) {
serverIsStopped = true;
//TODO
}
}
}.start();
}
我想出了這個快速解決方案。但相當醜陋。你的意見?
private boolean serverIsStopped = true;
private Model model = this;
public void startServer(final String path, final int port, final double speedup) {
serverIsStopped = false;
new Thread() {
public void run() {
server = new SWTimeServer();
try{
server.startServer(port, speedup, path);
}catch (ClientDisconnectedException e) {
serverIsStopped = true;
model.notifyObservers(e);
} catch (ParseException e) {
serverIsStopped = true;
model.notifyObservers(e);
}
}
}.start();
}
感謝答案
問候 Tarken
請給一些背景到您希望使用的「內螺紋」 –
我得到了一個MVC模式來完成什麼,這個代碼是我的模型的一部分。如果拋出異常,我想在我的視圖中顯示消息。我如何獲得例外。這有幫助嗎? – Tarken