* Electron version: 1.6.1
* Operating system: macOS 10.12.3, Windows 7 64bit

### Expected behavior

Should emit an error on the request object.

### Actual behavior

<img width="420" alt="image" src="https://cloud.githubusercontent.com/assets/99662/23713890/4e9b8f52-041f-11e7-9dfb-e8408bb58670.png">

An uncatchable error happens.

### How to reproduce
```bash
git clone https://github.com/arantes555/electron-net-encoding-testcase.git
cd electron-net-encoding-testcase
npm install
npm start
```

atom/browser/net/atom_url_request.cc
#include "atom/browser/net/atom_url_request.h"
#include <string>
#include "atom/browser/api/atom_api_url_request.h"
#include "atom/browser/atom_browser_context.h"
#include "base/callback.h"
#include "content/public/browser/browser_thread.h"
#include "net/base/elements_upload_data_stream.h"
#include "net/base/io_buffer.h"
#include "net/base/load_flags.h"
#include "net/base/upload_bytes_element_reader.h"
namespace {
const int kBufferSize = 4096;
}  
namespace atom {
namespace internal {
class UploadOwnedIOBufferElementReader : public net::UploadBytesElementReader {