diff --git a/src/main/java/org/opennars/web/httpnar/NARServer.java b/src/main/java/org/opennars/web/httpnar/NARServer.java index fdf482f02b17b856b45e1d5ebfaa38e2550a798c..7b3a93e1bee47329ca34fe9784cd4df6f30612cc 100644 --- a/src/main/java/org/opennars/web/httpnar/NARServer.java +++ b/src/main/java/org/opennars/web/httpnar/NARServer.java @@ -16,15 +16,21 @@ package org.opennars.web.httpnar; import java.io.File; import java.io.IOException; +import java.lang.reflect.InvocationTargetException; import java.net.InetSocketAddress; +import java.text.ParseException; import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.xml.parsers.ParserConfigurationException; import org.java_websocket.WebSocket; import org.java_websocket.WebSocketImpl; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; import org.opennars.interfaces.pub.Reasoner; import org.opennars.main.Nar; +import org.xml.sax.SAXException; public class NARServer { @@ -54,7 +60,27 @@ public class NARServer { if (WEBSOCKET_DEBUG) System.out.println("Connect: " + conn.getRemoteSocketAddress().getAddress().getHostAddress()); if(nar == null) { - nar = new Nar(); + try { + nar = new Nar(); + } catch (IOException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } catch (InvocationTargetException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } catch (NoSuchMethodException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } catch (ParserConfigurationException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } catch (SAXException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } catch (ClassNotFoundException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } catch (ParseException ex) { + Logger.getLogger(NARServer.class.getName()).log(Level.SEVERE, null, ex); + } } final NARConnection n = new NARConnection(nar, cycleIntervalMS) { @Override public void println(String output) { diff --git a/src/main/java/org/opennars/web/multinar/NarNode.java b/src/main/java/org/opennars/web/multinar/NarNode.java index 2bc3297ea0ac48489afcd0ef813fdd4228cbfeca..936a9f4f84fa9ccfb7bae08f5a6b8a7192a77163 100644 --- a/src/main/java/org/opennars/web/multinar/NarNode.java +++ b/src/main/java/org/opennars/web/multinar/NarNode.java @@ -20,21 +20,25 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; +import java.lang.reflect.InvocationTargetException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; +import javax.xml.parsers.ParserConfigurationException; import org.opennars.entity.Task; import org.opennars.io.events.EventEmitter.EventObserver; import org.opennars.io.events.Events; import org.opennars.language.CompoundTerm; import org.opennars.language.Term; import org.opennars.main.Nar; +import org.xml.sax.SAXException; public class NarNode extends Nar implements EventObserver { @@ -51,7 +55,9 @@ public class NarNode extends Nar implements EventObserver { * @throws SocketException * @throws UnknownHostException */ - public NarNode(int listenPort) throws SocketException, UnknownHostException { + public NarNode(int listenPort) throws SocketException, UnknownHostException, IOException, InstantiationException, + InvocationTargetException, NoSuchMethodException, ParserConfigurationException, IllegalAccessException, SAXException, + ClassNotFoundException, ParseException { super(); this.receiveSocket = new DatagramSocket(listenPort, InetAddress.getByName("127.0.0.1")); this.event(this, true, Events.TaskAdd.class); @@ -190,7 +196,9 @@ public class NarNode extends Nar implements EventObserver { * @throws IOException * @throws InterruptedException */ - public static void main(String[] args) throws SocketException, UnknownHostException, IOException, InterruptedException { + public static void main(String[] args) throws SocketException, UnknownHostException, IOException, + InterruptedException, InstantiationException, InvocationTargetException, ParserConfigurationException, + NoSuchMethodException, SAXException, ClassNotFoundException, IllegalAccessException, ParseException { int nar1port = 64001; int nar2port = 64002; String localIP = "127.0.0.1";