Defensive coding in error handling
This commit is contained in:
parent
fc834f9d12
commit
7af0c3f0a1
1 changed files with 19 additions and 13 deletions
|
|
@ -68,8 +68,8 @@ const routes = [
|
||||||
|
|
||||||
const errorPayload = {
|
const errorPayload = {
|
||||||
cause: "expired session",
|
cause: "expired session",
|
||||||
currentPage: from.query.fmgPage,
|
currentPage: from?.query?.fmgPage,
|
||||||
nextPage: to.query.fmgPage,
|
nextPage: to?.query?.fmgPage,
|
||||||
};
|
};
|
||||||
|
|
||||||
await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE);
|
await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE);
|
||||||
|
|
@ -216,8 +216,8 @@ const routes = [
|
||||||
|
|
||||||
const errorPayload = {
|
const errorPayload = {
|
||||||
cause: "invalid page prerequisites for page",
|
cause: "invalid page prerequisites for page",
|
||||||
currentPage: from.query.fmgPage,
|
currentPage: from?.query?.fmgPage,
|
||||||
nextPage: to.query.fmgPage,
|
nextPage: to?.query?.fmgPage,
|
||||||
};
|
};
|
||||||
|
|
||||||
GoToFunnelStartOn404(next, errorPayload);
|
GoToFunnelStartOn404(next, errorPayload);
|
||||||
|
|
@ -231,8 +231,8 @@ const routes = [
|
||||||
if (!isExistingFmgPageName(to.query.fmgPage)) {
|
if (!isExistingFmgPageName(to.query.fmgPage)) {
|
||||||
const errorPayload = {
|
const errorPayload = {
|
||||||
cause: "invalid page name",
|
cause: "invalid page name",
|
||||||
currentPage: from.query.fmgPage,
|
currentPage: from?.query?.fmgPage,
|
||||||
nextPage: to.query.fmgPage,
|
nextPage: to?.query?.fmgPage,
|
||||||
};
|
};
|
||||||
|
|
||||||
GoToFunnelStartOn404(next, errorPayload);
|
GoToFunnelStartOn404(next, errorPayload);
|
||||||
|
|
@ -264,8 +264,8 @@ const routes = [
|
||||||
|
|
||||||
const errorPayload = {
|
const errorPayload = {
|
||||||
cause: "invalid page prerequisites for page",
|
cause: "invalid page prerequisites for page",
|
||||||
currentPage: from.query.fmgPage,
|
currentPage: from?.query?.fmgPage,
|
||||||
nextPage: to.query.fmgPage,
|
nextPage: to?.query?.fmgPage,
|
||||||
};
|
};
|
||||||
|
|
||||||
GoToFunnelStartOn404(next, errorPayload);
|
GoToFunnelStartOn404(next, errorPayload);
|
||||||
|
|
@ -293,10 +293,10 @@ const routes = [
|
||||||
// If we don't have a route, go to our 404 page.
|
// If we don't have a route, go to our 404 page.
|
||||||
const errorPayload = {
|
const errorPayload = {
|
||||||
cause: "uncaught error in beforeEnter",
|
cause: "uncaught error in beforeEnter",
|
||||||
currentPage: from.query.fmgPage,
|
currentPage: from?.query?.fmgPage,
|
||||||
nextPage: to.query.fmgPage,
|
nextPage: to?.query?.fmgPage,
|
||||||
fullError: error,
|
fullError: error,
|
||||||
errorStack: error.stack,
|
errorStack: error?.stack,
|
||||||
};
|
};
|
||||||
|
|
||||||
GoToFunnelStartOn404(next, errorPayload);
|
GoToFunnelStartOn404(next, errorPayload);
|
||||||
|
|
@ -665,11 +665,17 @@ async function DisplayPageError(errorPayload = null) {
|
||||||
errorPayload.type = "DisplayPageError";
|
errorPayload.type = "DisplayPageError";
|
||||||
analyticsMixin.methods.pushPageErrorToDataLayer(errorPayload);
|
analyticsMixin.methods.pushPageErrorToDataLayer(errorPayload);
|
||||||
} else {
|
} else {
|
||||||
|
// very cautiously to avoid additional errors:
|
||||||
|
var currentPage = "";
|
||||||
|
try {
|
||||||
|
currentPage = getQuerystringParameter(queryStrings.FMG_PAGE);
|
||||||
|
} catch (e) {
|
||||||
|
// pass
|
||||||
|
}
|
||||||
errorPayload = {
|
errorPayload = {
|
||||||
type: "DisplayPageError",
|
type: "DisplayPageError",
|
||||||
cause: "Unknown page error",
|
cause: "Unknown page error",
|
||||||
currentPage: getQuerystringParameter(queryStrings.FMG_PAGE),
|
currentPage: currentPage,
|
||||||
nextPage: null,
|
|
||||||
};
|
};
|
||||||
analyticsMixin.methods.pushPageErrorToDataLayer(errorPayload);
|
analyticsMixin.methods.pushPageErrorToDataLayer(errorPayload);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue