Skip to content

Commit d98b2e2

Browse files
Throw ExtensionErrors from the API
All errors that are thrown from the API that are not an ExtensionError will be masked and display "An unexpected error occurred." This isn't useful for us, so lets throw ExtensionErrors. Fixes #48
1 parent a422f8a commit d98b2e2

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

src/apis/.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ module.exports = {
33
plugins: ["mozilla"],
44
globals: {
55
ExtensionAPI: true,
6+
ExtensionError: true,
67
},
78
};

src/apis/nimbus.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ var nimbus = class extends ExtensionAPI {
7070
return { enrolled: result !== null, error: null };
7171
} catch (error) {
7272
console.error(error);
73-
throw error;
73+
throw new ExtensionError(String(error));
7474
}
7575
},
7676

@@ -145,7 +145,7 @@ var nimbus = class extends ExtensionAPI {
145145
return { enrolled: result !== null, error: null };
146146
} catch (error) {
147147
console.error(error);
148-
throw error;
148+
throw new ExtensionError(String(error));
149149
}
150150
},
151151

@@ -155,7 +155,7 @@ var nimbus = class extends ExtensionAPI {
155155
return Object.keys(NimbusFeatures).sort();
156156
} catch (error) {
157157
console.error(error);
158-
throw error;
158+
throw new ExtensionError(String(error));
159159
}
160160
},
161161

@@ -166,7 +166,7 @@ var nimbus = class extends ExtensionAPI {
166166
);
167167
} catch (error) {
168168
console.error(error);
169-
throw error;
169+
throw new ExtensionError(String(error));
170170
}
171171
},
172172

@@ -178,7 +178,7 @@ var nimbus = class extends ExtensionAPI {
178178
);
179179
} catch (error) {
180180
console.error(error);
181-
throw error;
181+
throw new ExtensionError(String(error));
182182
}
183183
},
184184

@@ -187,7 +187,7 @@ var nimbus = class extends ExtensionAPI {
187187
return await lazy.FilterExpressions.eval(expression, context);
188188
} catch (error) {
189189
console.error("Error evaluating expression:", error);
190-
throw error;
190+
throw new ExtensionError(String(error));
191191
}
192192
},
193193

@@ -225,7 +225,7 @@ var nimbus = class extends ExtensionAPI {
225225
return [key, resolvedValue];
226226
} catch (error) {
227227
console.warn(`Error resolving ${key}: `, error);
228-
throw error;
228+
throw new ExtensionError(String(error));
229229
}
230230
},
231231
);
@@ -279,7 +279,7 @@ var nimbus = class extends ExtensionAPI {
279279
});
280280
} catch (error) {
281281
console.error(error);
282-
throw error;
282+
throw new ExtensionError(String(error));
283283
}
284284
},
285285

@@ -295,7 +295,7 @@ var nimbus = class extends ExtensionAPI {
295295
return result !== null;
296296
} catch (error) {
297297
console.error(error);
298-
throw error;
298+
throw new ExtensionError(String(error));
299299
}
300300
},
301301

@@ -304,7 +304,7 @@ var nimbus = class extends ExtensionAPI {
304304
return await ExperimentManager.store.getAll();
305305
} catch (error) {
306306
console.error(error);
307-
throw error;
307+
throw new ExtensionError(String(error));
308308
}
309309
},
310310

@@ -313,7 +313,7 @@ var nimbus = class extends ExtensionAPI {
313313
return await ExperimentManager.unenroll(slug, "nimbus-devtools");
314314
} catch (error) {
315315
console.error(error);
316-
throw error;
316+
throw new ExtensionError(String(error));
317317
}
318318
},
319319

@@ -322,7 +322,7 @@ var nimbus = class extends ExtensionAPI {
322322
return await ExperimentManager.store._deleteForTests(slug);
323323
} catch (error) {
324324
console.error(error);
325-
throw error;
325+
throw new ExtensionError(String(error));
326326
}
327327
},
328328

@@ -332,7 +332,7 @@ var nimbus = class extends ExtensionAPI {
332332
return result[branchSlug];
333333
} catch (error) {
334334
console.error(error);
335-
throw error;
335+
throw new ExtensionError(String(error));
336336
}
337337
},
338338
},

0 commit comments

Comments
 (0)