From 94ca11acf4942d6c7f54c452e1dfe5c054e5381f Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Sun, 3 Feb 2013 01:14:39 +0100 Subject: [PATCH] Fix java examples: catch exceptions on failures. --- examples/java/cloud/Slave.java | 11 ++++++++--- examples/java/master_slave_kill/Slave.java | 11 +++++++++-- examples/java/startKillTime/Slave.java | 9 +++++++-- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/examples/java/cloud/Slave.java b/examples/java/cloud/Slave.java index 8f7cde3384..01e646ff89 100644 --- a/examples/java/cloud/Slave.java +++ b/examples/java/cloud/Slave.java @@ -21,9 +21,15 @@ public class Slave extends Process { public void main(String[] args) throws MsgException { while(true) { Msg.info("Receiving on " + "slave_" + number); - Task task = Task.receive("slave_"+number); - + Task task; + try { + task = Task.receive("slave_"+number); + } catch (MsgException e) { + Msg.debug("Received failed. I'm done. See you!"); + break; + } if (task instanceof FinalizeTask) { + Msg.info("Received Finalize. I'm done. See you!"); break; } Msg.info("Received \"" + task.getName() + "\". Processing it."); @@ -35,7 +41,6 @@ public class Slave extends Process { Msg.info("\"" + task.getName() + "\" done "); } - Msg.info("Received Finalize. I'm done. See you!"); } } \ No newline at end of file diff --git a/examples/java/master_slave_kill/Slave.java b/examples/java/master_slave_kill/Slave.java index 8e85ef133b..e52dd93733 100644 --- a/examples/java/master_slave_kill/Slave.java +++ b/examples/java/master_slave_kill/Slave.java @@ -8,6 +8,7 @@ package master_slave_kill; import org.simgrid.msg.HostFailureException; import org.simgrid.msg.HostNotFoundException; import org.simgrid.msg.Msg; +import org.simgrid.msg.MsgException; import org.simgrid.msg.Task; import org.simgrid.msg.TimeoutException; import org.simgrid.msg.TransferFailureException; @@ -26,7 +27,13 @@ public class Slave extends Process { Msg.info("Send Mail1!"); task.send("mail1"); - Task task2 = Task.receive("mail2"); - Msg.info("Receive Mail2!"); + Task task2; + try { + task2 = Task.receive("mail2"); + } catch (MsgException e) { + Msg.debug("Received failed"); + return; + } + Msg.info("Receive Mail2!"); } } diff --git a/examples/java/startKillTime/Slave.java b/examples/java/startKillTime/Slave.java index d3f7036c03..e9942f0938 100644 --- a/examples/java/startKillTime/Slave.java +++ b/examples/java/startKillTime/Slave.java @@ -6,6 +6,7 @@ */ package startKillTime; import org.simgrid.msg.Host; +import org.simgrid.msg.MsgException; import org.simgrid.msg.HostFailureException; import org.simgrid.msg.HostNotFoundException; import org.simgrid.msg.TransferFailureException; @@ -22,8 +23,12 @@ public class Slave extends Process { } public void main(String[] args) throws TransferFailureException, HostFailureException, TimeoutException { Msg.info("Hello!"); - waitFor(10.0); - Msg.info("OK, goodbye now."); + try { + waitFor(10.0); + Msg.info("OK, goodbye now."); + } catch (MsgException e) { + Msg.debug("Wait cancelled."); + } } } -- 2.20.1