我试图抛出一个自定义错误,我的"CustomError"类名称打印在控制台而不是"错误",但没有成功:
class CustomError extends Error {
constructor(message: string) {
super(`Lorem "${message}" ipsum dolor.`);
this.name = 'CustomError';
}
}
throw new CustomError('foo');
Run Code Online (Sandbox Code Playgroud)
输出是Uncaught Error: Lorem "foo" ipsum dolor
.
我的期望:Uncaught CustomError: Lorem "foo" ipsum dolor
.
我想知道是否只能使用TS来完成(没有搞乱JS原型)?
我有一个看起来像这样的函数:
def check_for_errors(result):
if 'success' in result:
return True
if 'error' in result:
raise TypeError
return False
Run Code Online (Sandbox Code Playgroud)
在成功运行此函数时,我应该得到一个bool
,但是如果有错误我应该得到一个TypeError
- 这是可以的,因为我在另一个函数中处理它.
我的函数第一行看起来像这样:
def check_for_errors(result: str) -> bool:
Run Code Online (Sandbox Code Playgroud)
我的问题是:我应该在提示中提及错误吗?
如何设置拒绝承诺的类型?让我说我做:
const start = (): Promise<string> => {
return new Promise((resolve, reject) => {
if (someCondition) {
resolve('correct!');
} else {
reject(-1);
}
});
}
Run Code Online (Sandbox Code Playgroud)
假设我想拒绝一个数字.但我不能设置类型; 我可以把我想要的任何东西传给reject
这里.
此外,在使用此承诺时,如果我错误地使用拒绝响应类型,我想要编译错误.