Onerror status

```
var err = new Error('msg');
err.status = -1;

throw err;
```

`ctx.onerror` call `response.status = err.status`, lead to `uncaughtException`.

```
var err = new Error('msg');
err.message = -1;

this.throw(err);
```

will set `err.expose = true`.
hmm I would maybe just ignore these so that it doesn't mask the real error