如何在TypeScript中声明一个函数抛出错误?

1,504 阅读1分钟

在编程中,错误是一个常见的要求,在代码中处理它。

处理错误是程序员的责任,以获得干净的代码并避免应用程序的优雅退出。

Typescript编译器通过类型安全来捕捉编译时的错误。

如何在typescript中处理运行时错误。

它提供了一个Error 对象来表示发生了错误。

在Typescript中,Error对象是一个Runtime异常或错误。目前,Typescript支持never类型,支持任何类型的数据。

在Typescript中,错误处理使用try和catch

try {
  throw new Error("error is thrown");
}
catch (e){
  console.log((e.message);
}

如何声明一个抛出Error的函数?

与其他编程语言不同,如下图所示,不支持抛出错误的函数。在当前版本的typescript(4.3.x)中,它是无效的。

function myfunction(param:string): throws Error{

}

你可以用never和union操作符来写

function myfunction(test: string): string | never {
    if(!test){
        throw new Error();
    }
    return string;
}

上述函数有可能抛出一个错误,也有可能抛出一个字符串。

你可以使用union 管道操作符将never 类型与booleannumber 结合起来。