From c4a47928a8a4cf9f4dd78beba273778ce78f6744 Mon Sep 17 00:00:00 2001
From: Dmitriy Simushev <simushevds@ossg.ru>
Date: Thu, 11 Dec 2014 11:57:57 +0000
Subject: [PATCH] Add warning about uncaught exception to AbstractProcessor

---
 .../RequestProcessor/AbstractProcessor.php    | 22 +++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/mibew/libs/classes/Mibew/RequestProcessor/AbstractProcessor.php b/src/mibew/libs/classes/Mibew/RequestProcessor/AbstractProcessor.php
index e34b8eeb..751ec482 100644
--- a/src/mibew/libs/classes/Mibew/RequestProcessor/AbstractProcessor.php
+++ b/src/mibew/libs/classes/Mibew/RequestProcessor/AbstractProcessor.php
@@ -235,12 +235,20 @@ abstract class AbstractProcessor
                     return $this->buildSyncResponses($this->responses);
                 }
             }
-
-            // Output response
         } catch (\Exception $e) {
             // Something went wrong. Trigger error event
             $vars = array('exception' => $e);
             $dispatcher->triggerEvent($this->eventPrefix . 'RequestError', $vars);
+            trigger_error(
+                sprintf(
+                    'A request cannot be properly handled because of uncaught exception %s "%s" (%s:%u)',
+                    get_class($e),
+                    $e->getMessage(),
+                    $e->getFile(),
+                    $e->getLine()
+                ),
+                E_USER_WARNING
+            );
 
             return false;
         }
@@ -319,6 +327,16 @@ abstract class AbstractProcessor
             // Trigger error event
             $vars = array('exception' => $e);
             $dispatcher->triggerEvent($this->eventPrefix . "CallError", $vars);
+            trigger_error(
+                sprintf(
+                    'Function call failed because of uncaught exception %s "%s" (%s:%u)',
+                    get_class($e),
+                    $e->getMessage(),
+                    $e->getFile(),
+                    $e->getLine()
+                ),
+                E_USER_WARNING
+            );
 
             return false;
         }