函数名:formatError(error: Error | string, options?: {messageOnly?: boolean}) : string
该函数用于格式化错误信息。如果传入的参数是字符串类型,会直接返回该字符串;如果传入的参数是一个Error对象,则会根据配置选项将其转化为字符串并返回。
error
: Error
或 string
类型的参数。如果参数是 string
类型,则该字符串会被直接返回。如果参数是 Error
对象,则会将其转化为字符串并返回。
options
: 可选参数,用来配置函数的行为。
messageOnly
: 当该参数被设置为 true
时,只会返回错误信息中的错误消息,而不包含其他的错误信息。函数返回一个字符串,代表着格式化后的错误信息。
以下代码展示了如何使用该函数:
const error = new Error('This is an error');
const formattedError = formatError(error, {messageOnly: true});
console.log(formattedError);
// 输出:This is an error
const fullFormattedError = formatError(error);
console.log(fullFormattedError);
// 输出:Error: This is an error
// at <anonymous>:1:15
// at Object.<anonymous> (<anonymous>:2:3)
// at Module._compile (internal/modules/cjs/loader.js:1137:30)
// at evalScript (internal/process/execution.js:94:25)
// at runMicrotasks (<anonymous>)
// at processTicksAndRejections (internal/process/task_queues.js:97:5)
在这个例子中,我们首先创建了一个新的 Error
对象。接下来,我们分别调用了两次 formatError
函数,并传入了不同的配置选项。第一次调用传入了 {messageOnly: true}
,因此只返回了错误消息。第二次调用没有传入任何配置选项,则返回完整的错误信息。
另外,如果将 error
参数传入一个字符串而不是 Error
对象,则会直接返回该字符串:
const formattedString = formatError('This is an error message');
console.log(formattedString);
// 输出:This is an error message