Error handling send JSON
Hi I am trying to send an error with ctx.throw() or be simply assigning it to ctx.body but Body in the response is always empty. When trying to send it passing a third property to ctx.throw() like [here](https://github.com/koajs/koa/blob/master/docs/api/context.md#ctxthrowstatus-msg-properties) it doesn't show in the response body

I am using Mocha, Chai, Chai-http for testing. res.body is always empty. res.error has the error message but not the object.
```
test.only('Missing required fields', function (done) {
	chai
		.request(server)
		.post('/api/issues/test')
		.send({
			issue_title: 'Title'
		})
		.end((err, res) => {
			assert.isNull(err);
			console.log(res.body);
			assert.isNotFalse(res.error);
			assert.equal(res.status, 400);
			assert.equal(res.error.text, 'Project validation failed');
			done();
		});
});
```
I tried emitting the error like this,
```
const projectSave = await project
	.save()
	.catch(err => {
                // ctx.body = { hello: 'world' } this cause and error
		ctx.throw(400, 'Project validation failed', { hola: 'mundo', hello: 'world' });
	});
```
Also if I assign an object to ctx.body just before ctx.throw I get the following error `"Unexpected token P in JSON at position 0". 
I thought to do like in express ´return res.json(err)´ but in this case assigning the response to ctx.body and returning. Sadly the execution doesn't stop.

How can I send a json or javascript object in the response to use in the UI?