[英]How can I hide moment errors in nodejs?
我對node和javascript都還很陌生,所以如果這是一個很累的問題,我深表歉意,但是到目前為止,我在研究中發現的解決方案對我而言並不奏效。
我有以下函數檢查日期字符串(從用戶作為命令行參數接收)是否有效:
var checkDate = (d) => {
if (isNaN(d) && moment(d).isValid()) {
return moment(d);
} else if (!isNaN(d)) {
return moment(parseInt(d, 10));
} else {
console.error(`Error! ${d} is not a valid date string.`);
process.exit(1);
};
};
問題是,如果字符串不是有效日期, moment(d).isValid()
將引發錯誤。 我不希望看到此錯誤,因為它實際上沒有多大用處,而且無論如何我都將自己丟在其他地方。
有沒有一種方法可以抑制moment().isValid()
函數引發的錯誤?
這是一個問題與moment
,將拋出一個棄用警告時所提供的價值是不可識別RFC2822或ISO格式。
為避免警告,請創建后備功能:
const moment = require('moment');
moment.createFromInputFallback = function (config) {
config._d = new Date(NaN);
}
const checkDate = (d) => {
if (isNaN(d) && moment(d).isValid()) {
return moment(d);
} else if (!isNaN(d)) {
return moment(parseInt(d, 10));
} else {
console.error(`Error! ${d} is not a valid date string.`)
process.exit(1);
};
};
或者,您可以直接通過以下方式取消警告:
moment.suppressDeprecationWarnings = true;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.