From 7f34a9cfaf7396f52e661178278c14c9e20ea2d2 Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Fri, 16 Sep 2005 00:36:21 +0000 Subject: [PATCH] Catch and log runtime exceptions when finishing a move-to request and inform the client that the shit hit the fan so that it's not locked from making any other move requests. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3703 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/java/com/threerings/whirled/server/SceneProvider.java | 7 ++++++- .../com/threerings/whirled/zone/server/ZoneProvider.java | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/java/com/threerings/whirled/server/SceneProvider.java b/src/java/com/threerings/whirled/server/SceneProvider.java index 8dcc95ec7..35877daf3 100644 --- a/src/java/com/threerings/whirled/server/SceneProvider.java +++ b/src/java/com/threerings/whirled/server/SceneProvider.java @@ -1,5 +1,5 @@ // -// $Id: SceneProvider.java,v 1.20 2004/08/27 02:20:43 mdb Exp $ +// $Id$ // // Narya library - tools for developing networked games // Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved @@ -101,8 +101,13 @@ public class SceneProvider { try { effectSceneMove(source, scmgr, sceneVersion, listener); + } catch (InvocationException sfe) { listener.requestFailed(sfe.getMessage()); + + } catch (RuntimeException re) { + Log.logStackTrace(re); + listener.requestFailed(INTERNAL_ERROR); } } diff --git a/src/java/com/threerings/whirled/zone/server/ZoneProvider.java b/src/java/com/threerings/whirled/zone/server/ZoneProvider.java index 462bd6d3d..a2cc9eb07 100644 --- a/src/java/com/threerings/whirled/zone/server/ZoneProvider.java +++ b/src/java/com/threerings/whirled/zone/server/ZoneProvider.java @@ -225,6 +225,10 @@ public class ZoneProvider } catch (InvocationException ie) { listener.requestFailed(ie.getMessage()); + + } catch (RuntimeException re) { + Log.logStackTrace(re); + listener.requestFailed(INTERNAL_ERROR); } }