javascript - 抛出对象而不是返回字符串

标签 javascript reactjs ecmascript-6 axios

如何构建一个 Error 对象而不是给它一个字符串? https://codesandbox.io/s/pwr973487x

async function getUrl()  {
  try {

    const res = await axios.get('https://httpstat.us/500')
  } catch(e) {
    const errorObj = {
      status: 500,
      message: 'Internal server error, something is not defined etc'
    }
    throw new Error('err') //how to build object?
  }
}

我希望 throw Error() 返回 errorObj。我是否必须创建自己的类才能做到这一点,或者我可以为此修改现有的 Error 类吗?我需要它,以便它标准化我的不同 API 集的错误消息。

最佳答案

您可以使用catch返回的错误对象

  try {
    const res = await axios.get('https://httpstat.us/500')
  } catch(e) {
    e.message = 'Internal server error, something is not defined etc';
    throw e;
  }

关于javascript - 抛出对象而不是返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50326002/

相关文章:

javascript - 如何在 PhantomJS 中测试 String.prototype.includes

javascript - 声明 const 时遇到问题

javascript - 动态添加的样式表标记在 IE 下不生效

javascript - 如何将事件传递给 setState 回调函数?

javascript - .net core 2.1 在来自 axios 和 Vue.js 的 ajax 请求中绑定(bind)数组

javascript - React Big Calendar 如何在月 View 中设置一天的样式

javascript - 如何将自定义 Prop 传递给 Prop ?

javascript - 如何更新嵌套数组(多重 react 选择)

javascript - React-Native 不使用导航器传递 props?

javascript - Jquery 1.8,检查元素是否隐藏