typescript - 是否可以在 TypeScript 中为 tsc 编译引发自定义错误?
问题描述
如果满足某个条件,我想为 tsc 编译时间而不是运行时抛出一个自定义错误。
我想这样做的原因是为了防止传递某些组合的参数。
例如
f("A", "C"); // ok
f("A", "D"); // ok
f("B", "C"); // ok
f("B", "D"); // no, wanna prevent this combination of arguments
在函数中,我想要这样的东西:
function f(arg1: "A" | "B", arg2: "C" | "D") {
if (arg1 === "B" && arg2 === "D") {
// wanna throw a TS custom error here
}
// do some tasks...
}
此处已提出类似问题,但答案并未提供使用本机 TS 功能实现此目的的方法。
没有 TS 功能可以做我想做的事吗?
编辑前的旧 Eg
function root(radical: number, radicand: number) {
// even root of a negative number does not exist
if (radical % 2 === 0 && radicand < 0) {
// wanna throw a TS custom error here
}
// do some calculation here
...
return answer;
}
解决方案
推荐阅读
- python-3.x - 如何在for循环中动态模拟python函数的结果?
- sql - 使用聚集索引的内部连接约束(需要空值)
- spring-kafka - 多个消费者使用 spring kafka 并在 spring 之外编写回复主题
- azure - DataFactory 将字符串(年份为 2 位)转换为日期
- .net - 未能将路线匹配到正确的操作
- reactjs - 发布带有反应应用程序到 IIS 的 .net core 3.1
- css - 与 figma 相比,字体提供不同的输出
- pip - Jupyter Notebook - ImportError: lxml not found, please install it
- amazon-web-services - 执行查询时 Athena 权限被拒绝
- javascript - 如何等待一组 promise 完成执行,然后将每个 promise 返回的值存储在状态数组中?