Fix constants errors not giving a stacktrace

This commit is contained in:
Amish Shah
2016-09-04 11:53:30 +01:00
parent 4d2bb891a9
commit 9c915d1e0a
7 changed files with 14 additions and 14 deletions

File diff suppressed because one or more lines are too long

View File

@@ -142,7 +142,7 @@ class ClientDataResolver {
*/ */
resolvePermission(permission) { resolvePermission(permission) {
if (typeof permission === 'string') permission = Constants.PermissionFlags[permission]; if (typeof permission === 'string') permission = Constants.PermissionFlags[permission];
if (!permission) throw Constants.Errors.NOT_A_PERMISSION; if (!permission) throw new Error(Constants.Errors.NOT_A_PERMISSION);
return permission; return permission;
} }

View File

@@ -30,7 +30,7 @@ class ClientManager {
this.client.ws.connect(gateway); this.client.ws.connect(gateway);
this.client.once(Constants.Events.READY, () => resolve(token)); this.client.once(Constants.Events.READY, () => resolve(token));
}).catch(reject); }).catch(reject);
this.client.setTimeout(() => reject(Constants.Errors.TOOK_TOO_LONG), 1000 * 300); this.client.setTimeout(() => reject(new Error(Constants.Errors.TOOK_TOO_LONG)), 1000 * 300);
} }
/** /**

View File

@@ -21,7 +21,7 @@ class APIRequest {
} else if (this.rest.client.token) { } else if (this.rest.client.token) {
return this.rest.client.token; return this.rest.client.token;
} }
throw Constants.Errors.NO_TOKEN; throw new Error(Constants.Errors.NO_TOKEN);
} }
gen() { gen() {

View File

@@ -29,7 +29,7 @@ class RESTManager {
case 'sequential': case 'sequential':
return SequentialRequestHandler; return SequentialRequestHandler;
default: default:
throw Constants.Errors.INVALID_RATE_LIMIT_METHOD; throw new Error(Constants.Errors.INVALID_RATE_LIMIT_METHOD);
} }
} }

View File

@@ -150,7 +150,7 @@ class WebSocketManager {
* @param {Object} event The received websocket data * @param {Object} event The received websocket data
*/ */
eventClose(event) { eventClose(event) {
if (event.code === 4004) throw Constants.Errors.BAD_LOGIN; if (event.code === 4004) throw new Error(Constants.Errors.BAD_LOGIN);
if (!this.reconnecting && event.code !== 1000) this.tryReconnect(); if (!this.reconnecting && event.code !== 1000) this.tryReconnect();
} }
@@ -166,7 +166,7 @@ class WebSocketManager {
if (event.binary) event.data = zlib.inflateSync(event.data).toString(); if (event.binary) event.data = zlib.inflateSync(event.data).toString();
packet = JSON.parse(event.data); packet = JSON.parse(event.data);
} catch (e) { } catch (e) {
return this.eventError(Constants.Errors.BAD_WS_MESSAGE); return this.eventError(new Error(Constants.Errors.BAD_WS_MESSAGE));
} }
this.client.emit('raw', packet); this.client.emit('raw', packet);

View File

@@ -63,13 +63,13 @@ exports.ChannelTypes = {
exports.Package = require('../../package.json'); exports.Package = require('../../package.json');
exports.Errors = { exports.Errors = {
NO_TOKEN: new Error('request to use token, but token was unavailable to the client'), NO_TOKEN: 'request to use token, but token was unavailable to the client',
NO_BOT_ACCOUNT: new Error('you should ideally be using a bot account!'), NO_BOT_ACCOUNT: 'you should ideally be using a bot account!',
BAD_WS_MESSAGE: new Error('a bad message was received from the websocket - bad compression or not json'), BAD_WS_MESSAGE: 'a bad message was received from the websocket - bad compression or not json',
TOOK_TOO_LONG: new Error('something took too long to do'), TOOK_TOO_LONG: 'something took too long to do',
NOT_A_PERMISSION: new Error('that is not a valid permission string or number'), NOT_A_PERMISSION: 'that is not a valid permission string or number',
INVALID_RATE_LIMIT_METHOD: new Error('unknown rate limiting method'), INVALID_RATE_LIMIT_METHOD: 'unknown rate limiting method',
BAD_LOGIN: new Error('incorrect login details were provided'), BAD_LOGIN: 'incorrect login details were provided',
}; };
const API = `https://discordapp.com/api/v${exports.DefaultOptions.protocol_version}`; const API = `https://discordapp.com/api/v${exports.DefaultOptions.protocol_version}`;