内容简介:翻译自:https://stackoverflow.com/questions/41414830/why-is-my-http-librarys-error-handler-catching-all-runtime-errors-in-the-app
这个电话看起来很简单.在名为TownsList.js的组件中,我这样做
class TownsList extends Component {
constructor(props) {
super(props);
this.state = {towns: []};
}
componentDidMount() {
let url = "(SOME URL HERE)";
axios.get(url)
.then(function(response) {
// Do stuff witt the successful result
})
.catch(function (error) {
Alert.alert(
'Download failed',
'Unable to download data from '+url+"\nError:"+error,
[{text: 'OK'}])
});
...
现在奇怪的是,每当我的代码中有一些其他运行时错误//成功结果块的东西 – 例如对某个常量或变量的错误引用 – 该错误将由Axios的错误处理程序处理,以及:
这感觉不对.我究竟做错了什么?我应该在我的应用程序中的其他地方设置“通用”错误处理来捕获这些东西吗?或者这是预期的行为?
如果在您标记为的块中抛出错误,这是自然行为
// Do stuff witt the successful result
如果您不想要这种行为,请考虑以这种方式编写它:
axios.get(url)
.then(function(response) {
// Do stuff with the successful result
},
function (error) {
// any error from the get() will show up here
Alert.alert(
'Download failed',
'Unable to download data from '+url+"\nError:"+error,
[{text: 'OK'}])
});)
})
.catch(function(error) {
// any error from "doing stuff" will show up here
console.error(error);
})
.then()方法允许两个函数,一个用于成功,另一个用于失败 – 原始promise的失败,而不是成功函数.
由于您自己的代码本身由于某种原因而失败,您当然不希望沉默.
翻译自:https://stackoverflow.com/questions/41414830/why-is-my-http-librarys-error-handler-catching-all-runtime-errors-in-the-app
以上所述就是小编给大家介绍的《reactjs – 为什么我的http库的错误处理程序在应用程序中捕获* all * runtime错误?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
软件测试经验与教训
Cem Kaner、James Bach、Bret Pettichord / 机械工业出版社 / 2004-1 / 35.00
本书汇总了293条来自软件测试界顶尖专家的经验与建议,阐述了如何做好测试工作、如何管理测试,以及如何澄清有关软件测试的常见误解,读者可直接将这些建议用于自己的测试项目工作中。这些经验中的每一条都是与软件测试有关的一个观点,观点后面是针对运用该测试经验的方法、时机和原因的解释或例子。 本书还提供了有关如何将本书提供的经验有选择性地运用到读者实际项目环境中的建议,在所有关键问题上所积累的经验,以......一起来看看 《软件测试经验与教训》 这本书的介绍吧!