joomla/joomla-cms — pull request #3780 by asika32764 (2014-06-14 14:56:41+00:00)
Title: [#32854] Use JLayout to render debug backtrace and add backtrace in isis template error.php

This is same as #2626 but direct to `staging` branch.

## Introduction

In current time, we use `setError()`, `getError()` and `JError::raiseError()` in component to send error message.

However, if we use `Exception` to throw error, the debug plugin will not render backtrace for developer. It only work when we use `JError::reiseError()`.

It's because we have this code: https://github.com/joomla/joomla-cms/blob/master/plugins/system/debug/debug.php#L213

``` php
if (JDEBUG)
{
if (JError::getErrors())
{
$html[] = $this->display('errors');
}
```

To detect whether display errors or not. When we throw an exception, the `JError::getErrors()` will return null.

## The Modification

I added backtrace table in isis `error.php`, this code are consult from `JDocumentError::renderBacktrace()`, but I dont' use this method because it rendered a table without bootstrap table style.

So I wrote backtrace renderer in isis to support Bootstrap style. I dont't want to change `JDocumentError`, because it is a Platform class not CMS class.

## Screenshot
![p2013-12-01-3](https://f.cloud.github.com/assets/1639206/1650232/eb7e84cc-5a73-11e3-996e-81446b8b5845.jpg)

![p-2014-06-14-3](https://cloud.githubusercontent.com/assets/1639206/3278790/fcf7423a-f3d3-11e3-83da-e5b952a5464c.jpg)

JTracker: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=32854&start=0