抛出异常并获得e null

时间:2013-10-25 08:20:08

标签: android custom-exceptions

我抛出一个例外的消息,如:

public static ILSResponseEmailLookUPBO getILSUserAccounts(Resources res,
        String email) throws TripLoggerCustomException,
        TripLoggerUnexpectedErrorException {
    String resp = null;

    String lookupURL;
    try {
        lookupURL = TripLoggerConstants.ServerConstants.ILS_LOOKUP_URL
                + URLEncoder.encode(email, "UTF-8");
    } catch (UnsupportedEncodingException e1) {
        throw new TripLoggerCustomException(
                res.getString(R.string.error_try_again));
    }
    try {
        resp = ConnectionManager.getInstance().httpRequest(lookupURL,
                TripLoggerConstants.RequestMethods.GET);
    } catch (IOException e) {
        if (e.getMessage().equals(
                res.getString(R.string.network_unreachable))
                || e.getMessage().equals(
                        res.getString(R.string.host_unresolved))) {
            throw new TripLoggerCustomException(
                    res.getString(R.string.network_not_reachable));
        } else {
            throw new TripLoggerCustomException(
                    res.getString(R.string.email_notfound_ils));
        }
    }

这里我的其他部分执行。 我的异常类是:

 public class TripLoggerCustomException extends Exception {

    private String customMessage;
    private static final long serialVersionUID = 1L;

    public TripLoggerCustomException() {
        super();
    }

    public TripLoggerCustomException(String message) {
        super(message);
        this.customMessage = (message == null ? "" : message);
    }

    public String getCustomMessage() {
        return this.customMessage;
    }

    public void setCustomMessage(String customMessage) {
        this.customMessage = customMessage;
    }
     }

在这里我抓住了这个例外:

  private void manageLookUpActions(final String emailID) {

    new Thread() {
        public void run() {

            try {
                listILSAccounts = ILSLookupEmailBL.getILSUserAccounts(
                        getResources(), emailID);
            } catch (TripLoggerCustomException e) {
                dismissProgressBar();
                handleException(e.getMessage());
                return;
            } catch (TripLoggerUnexpectedErrorException e) {
                dismissProgressBar();
                handleException(e.getMessage());
                return;
            }
}
    }.start();

}

但是TripLoggerCustomException e的问题是null。为什么?有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

在StackOverflow上查看multiple reports后,似乎这不是一个实际问题。多人一直在说这是Eclipse调试器和Android Emulator结合的问题。这就是为什么你没有得到NullPointerException,如果e为null,你肯定会得到它。

所以这可能不是你需要担心的问题。