在TypeScript中嵌套/包装异常(原因)是否可能/通常做法,就像在Java中一样?
for file in os.listdir(filename):
if file.endswith(".pdf"):
shutil.move(filename + file, filename1 + '/PDF/' + file)
if file.endswith(".PDF"):
shutil.move(filename + file, filename1 + '/PDF/' + file)
if file.endswith(".docx"):
shutil.move(filename + file, filename1 + '/DOC/' + file)
if file.endswith(".txt"):
shutil.move(filename + file, filename1 + '/DOC/' + file)
我的意思是,为try {
// do something
} catch (e) {
throw new MyException("Exception while doing something", e);
}
设置自定义ctor可能不是问题,要将MyException
arg作为e
传递,但报告(打印)堆栈跟踪怎么办?以后呢?
答案 0 :(得分:1)
如果您正在寻找堆栈跟踪,那么您可以这样做:
SqlDbType.Binary
然后:
function normalizeError(e: any): Error {
if (e instanceof Error) {
return e;
}
return new Error(typeof e === "string" ? e : e.toString());
}
将打印出类似的内容:
错误:1,字符串,真实 在normalizeError(:5:12)
时间:11:9
如果您要定位try {
throw [1, "string", true];
}
catch (e) {
e = normalizeError(e);
console.log(e.stack);
}
,那么您可以扩展es6
课程,而不是使用此Error
功能,但如果您无法定位normalizeError
,那么您应该避免扩展本地课程。