Skip to content

Instantly share code, notes, and snippets.

@amandeepmittal
Created November 2, 2018 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amandeepmittal/56e30487a2782fa7f0209ab0f3cd518a to your computer and use it in GitHub Desktop.
Save amandeepmittal/56e30487a2782fa7f0209ab0f3cd518a to your computer and use it in GitHub Desktop.
Error Handling in MERN MATERIAL DEMO APP
const getErrorMessage = err => {
let message = '';
if (err.code) {
switch (err.code) {
case 11000:
case 11001:
message = getUniqueErrorMessage(err);
break;
default:
message = 'Something went wrong.';
}
} else {
for (let errName in err.errors) {
if (err.errors[errName].message) message = err.errors[errName].message;
}
}
return message;
};
const getUniqueErrorMessage = err => {
let output;
try {
let fieldName = err.message.substring(
err.message.lastIndexOf('.$') + 2,
err.message.lastIndexOf('_1')
);
output =
fieldName.charAt(0).toUpperCase() +
fieldName.slice(1) +
' already exists';
} catch (ex) {
output = 'Field Already Exists!';
}
return output;
};
export default { getErrorMessage };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment