Fix #3310

Regression caused by 4b838af40d77684539dd40461bd92e6e453fe675
Quite possibly related to #3308
diff --git a/system/core/Common.php b/system/core/Common.php
index 4277ef5..efb52e7 100644
--- a/system/core/Common.php
+++ b/system/core/Common.php
@@ -682,7 +682,7 @@
 		if (isset($last_error) &&
 			($last_error['type'] & (E_ERROR | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING)))
 		{
-			_exception_handler($last_error['type'], $last_error['message'], $last_error['file'], $last_error['line']);
+			_error_handler($last_error['type'], $last_error['message'], $last_error['file'], $last_error['line']);
 		}
 	}
 }
diff --git a/system/libraries/Driver.php b/system/libraries/Driver.php
index 6a51c22..fb3d8cd 100644
--- a/system/libraries/Driver.php
+++ b/system/libraries/Driver.php
@@ -299,8 +299,7 @@
 			return call_user_func_array(array($this->_parent, $method), $args);
 		}
 
-		$trace = debug_backtrace();
-		_exception_handler(E_ERROR, "No such method '{$method}'", $trace[1]['file'], $trace[1]['line']);
+		throw new BadMethodCallException('No such method: '.$method.'()');
 		exit(6); // EXIT_UNKNOWN_METHOD
 	}