Vue.js:vuex动作中未捕获的承诺

我了解vuex动作会返回承诺,但是我还没有找到处理 vuex中错误的理想模式。我当前的方法是在axios插件上使用错误拦截器,然后将错误提交给我的vuex存储。

在 plugins / axios.js中:

export default function({ $axios, store }) {
    $axios.onError(error => {
        store.dispatch('setError', error.response.data.code);
    });
}

在 store / index.js中:

export const state = () => ({
    error: null,
});

export const mutations = {
    SET_ERROR(state, payload) {
        state.error = payload;
    },
}

export const actions = {
    setError({ commit }, payload) {
        commit('SET_ERROR', payload);
    },
};

然后,我将使用一个错误组件来监视错误状态并显示是否存在错误。因此,实际上不需要捕获我的操作或调度该操作的组件中的任何错误。但是我不禁担心它的设计是否很糟糕,导致未捕获异常?如果我通过这种设计处理错误,会遇到什么问题?关于更好的方法的建议?