The N/error module lets you create and throw custom, descriptive errors in SuiteScript. Instead of generic JavaScript errors, you can create errors with meaningful names, messages, and user-facing messages.
Creating and Throwing a Custom Error
define(["N/error", "N/log"], (error, log) => {
function validateOrder(amount) {
if (amount <= 0) {
throw error.create({
name: "INVALID_AMOUNT",
message: "Order amount must be greater than zero. Received: " + amount,
notifyOff: false
});
}
}
try {
validateOrder(-100);
} catch (e) {
log.error({ title: e.name, details: e.message });
}
return {};
});
Error Properties
| Property | Description |
|---|---|
name | Short error code identifier (e.g., VALIDATION_FAILED) |
message | Detailed error message for the log |
notifyOff | If false, NetSuite sends an email notification to admins |
e.name | The error name when caught |
e.message | The error message when caught |
e.stack | The full stack trace for debugging |