syntax - 是否有编程语言迫使您处理所有可能的错误?
问题描述
有很多编程语言可以简单地忽略错误,这甚至是默认设置。
想象一下 perl 例如:
eval { ... };
# not doing anything with $@
或 PHP,您可以在其中显式忽略错误:
@function_that_fails();
此外,一切都可能失败。甚至叉。
但是有没有一种编程语言可以强迫你处理每一个错误?这样基本函数要么都可以工作,要么有很多错误,然后依赖它们的函数也处理每个错误,而在这些函数之上的函数也可以等等?不像一棵大树。也许一个函数可能会以 10 种不同的方式失败,但对于调用者函数来说,只有失败才是重要的,所以你可以同样处理失败 #3、失败 #4、...、失败 #10。
但是这样你就必须明确地写:
try:
myfunction()
catch Error_Type_1:
...
catch Error_Type_2:
...
catch Error_Type_3 and Error_Type_4 and Error_Type_5 and Error_Type_6 and Error_Type_7 Error_Type_8 and Error_Type_9 and Error_Type_10:
...
或类似的东西为每个功能。
这有时会很乏味,但它不会导致更健壮的代码吗?
是否有任何甚至是实验性的语言迫使你这样做?
解决方案
推荐阅读
- reactjs - 在初始状态之后命名 useState 的当前状态,但使用当前状态值
- javascript - 为什么 puppeteer page.evaluate 中的 console.log 不起作用?
- parsley.js - 欧芹错误消息 %s1 中的单一要求
- corda - Corda 无法创建数据源:验证失败
- reactjs - 状态未在 ReactJs 中更新
- excel - Excel 到 PDF - 如何指定宏将保存 PDF 文件的位置
- c++ - C++ rand() 在第一次运行时返回无意义的值,在第二次运行正常
- css - 无法更改 PrimeFaces 消息样式
- javascript - 清除来自 vuetify 的自动完成建议
- git - 无法提交对 Github 页面的更改