我有以下类型的函数定义:
const myModule = function (value1) {
// Is value1 missing?
if (typeof(value1) === 'undefined') {
throw new Error('value1 is missing')
}
// Do stuff here
}
需要将value1
参数/参数传递给函数。如果它丢失了,那么我需要抛出一个错误。我正确地抛出了错误吗?当我运行它时,我在控制台中得到这种类型的输出:
/Users/me/script.js:10
throw new Error('value1 is missing')
^
Error: value1 is missing
at new myModule (/Users/me/script.js:10:11)
这是正确的方法吗?将实际的throw
语句输出到控制台中似乎很奇怪。
答案 0 :(得分:1)
是的,使用 throw
statement 是在JavaScript
中抛出错误的正确方法。但是你可以使用Console内置方法,它会让你抛出不同类型的错误。
如果您有不同类型的消息/错误/例外情况,您可以从Console methods 中获利:
Console.error()
输出错误消息。你可以使用字符串替换和 使用此方法的其他参数。
Console.info()
信息记录信息。你可以使用字符串 使用此方法替换和附加参数。
Console.log()
用于记录信息的一般输出。你可以使用字符串 用这种方法替换和附加参数。
Console.trace()
输出堆栈跟踪警告消息。您可以在此方法中使用字符串替换和其他参数。
Console.warn()
输出警告信息。您可以在此方法中使用字符串替换和其他参数。
<强>演示:强>
这是一个简单的演示,展示了这些方法的使用:
const myModule = function(value1) {
// Is value1 missing?
if (!value1) {
console.error('value1 is missing!!!');
//Is value a string?
} else if (typeof value !== "string") {
console.warn('value1 must be a string!!!');
}
// Do stuff here
}