API 调用抛出错误但未进入 onError() 函数

API call throwing an error but not getting into onError() function

API 调用抛出了一个我试图使用 onError() 捕获的错误。出于测试目的,我试图在日志中为 onStarted()、onFinished 和 onError() 打印一条消息。 来自 onError() 的消息未显示在 Logcat 中,但显示了来自 onStarted() 和 onFinished() 的消息。

public void onAttach(android.app.Activity activity){
    super.onAttach(activity);
    TaskManager.registerListener(Bhr4Contracts.TASK_ROUTER, editWifiListener);

}

public void onDetach() {
    super.onDetach();
    TaskManager.unregisterListener(editWifiListener);

}

TaskStatusListener editWifiListener = new TaskStatusListener() {

    @Override
    public void onStarted(Bundle data) {
        Timber.tag("editListener").d("inside started");
    }
    @Override
    public void onError(Bundle data, Exception ex) {
        super.onError(data, ex);
        String message;
        if (ex instanceof NetworkingException) {
            message = ((NetworkingException) ex).getDetailedMessage();
            if (message.isEmpty()) {
                message = ex.getLocalizedMessage();
            }
        } else {
            message = ex.getMessage();
        }

        if (!TextUtils.isEmpty(message)) {
            Activity activity = getActivity();
            if (activity != null) {
                UIUtil.displayMessage(getActivity(), message, UIUtil.SNACKBAR_FLAG.IS_ERROR, Snackbar.LENGTH_INDEFINITE);
            }
        }
        Timber.tag("editErrorListener").d("inside onError");
    }
    @Override
    public void onFinished(Bundle data) {
        Timber.tag("editListener").d("inside onFinished");
    }
};

我能够使用来自 class 的 LocalBroadcastManager 显示来自 API 调用的错误,其中正在进行 API 调用。我仍然无法弄清楚为什么 onError() 没有工作,但 BroadcastReceiver 可以作为一种解决方法。