优化异常提示
This commit is contained in:
laoyuyu
2020-02-06 22:22:10 +08:00
parent 96efa35c4e
commit e015c2a2f7
55 changed files with 324 additions and 523 deletions

View File

@@ -19,7 +19,8 @@ import com.arialyy.aria.core.FtpUrlEntity;
import com.arialyy.aria.core.loader.IInfoTask;
import com.arialyy.aria.core.loader.ILoaderVisitor;
import com.arialyy.aria.core.wrapper.AbsTaskWrapper;
import com.arialyy.aria.exception.BaseException;
import com.arialyy.aria.exception.AriaException;
import com.arialyy.aria.exception.AriaSFTPException;
import com.arialyy.aria.util.CommonUtil;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
@@ -53,14 +54,11 @@ public abstract class AbsSFtpInfoTask<WP extends AbsTaskWrapper> implements IInf
}
getFileInfo(session);
} catch (JSchException e) {
e.printStackTrace();
fail(false, null);
fail(new AriaSFTPException(TAG, "jsch错误", e), false);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
fail(false, null);
fail(new AriaSFTPException(TAG, "字符编码错误", e), false);
} catch (SftpException e) {
e.printStackTrace();
fail(false, null);
fail(new AriaSFTPException(TAG, "sftp错误错误类型" + e.id, e), false);
}
}
@@ -72,7 +70,7 @@ public abstract class AbsSFtpInfoTask<WP extends AbsTaskWrapper> implements IInf
return wrapper;
}
protected void fail(boolean needRetry, BaseException e) {
protected void fail(AriaException e, boolean needRetry) {
callback.onFail(getWrapper().getEntity(), e, needRetry);
}

View File

@@ -17,7 +17,7 @@ package com.arialyy.aria.sftp.download;
import com.arialyy.aria.core.common.CompleteInfo;
import com.arialyy.aria.core.download.DTaskWrapper;
import com.arialyy.aria.exception.AriaException;
import com.arialyy.aria.exception.AriaSFTPException;
import com.arialyy.aria.sftp.AbsSFtpInfoTask;
import com.arialyy.aria.sftp.SFtpTaskOption;
import com.arialyy.aria.util.ALog;
@@ -63,7 +63,7 @@ final class SFtpDInfoTask extends AbsSFtpInfoTask<DTaskWrapper> {
callback.onSucceed(getWrapper().getKey(), info);
} else {
callback.onFail(getWrapper().getEntity(),
new AriaException(TAG, String.format("文件不存在remotePath%s", remotePath)), false);
new AriaSFTPException(TAG, String.format("文件不存在remotePath%s", remotePath)), false);
}
channel.disconnect();
}

View File

@@ -31,7 +31,7 @@ import com.arialyy.aria.core.loader.IRecordHandler;
import com.arialyy.aria.core.loader.IThreadTaskBuilder;
import com.arialyy.aria.core.manager.ThreadTaskManager;
import com.arialyy.aria.core.task.IThreadTask;
import com.arialyy.aria.exception.BaseException;
import com.arialyy.aria.exception.AriaException;
import com.arialyy.aria.util.FileUtil;
import java.io.File;
@@ -140,7 +140,7 @@ final class SFtpDLoader extends AbsNormalLoader<DTaskWrapper> {
startThreadTask();
}
@Override public void onFail(AbsEntity entity, BaseException e, boolean needRetry) {
@Override public void onFail(AbsEntity entity, AriaException e, boolean needRetry) {
getListener().onFail(needRetry, e);
}
});

View File

@@ -17,7 +17,7 @@ package com.arialyy.aria.sftp.download;
import com.arialyy.aria.core.common.SubThreadConfig;
import com.arialyy.aria.core.task.AbsThreadTaskAdapter;
import com.arialyy.aria.exception.AriaException;
import com.arialyy.aria.exception.AriaSFTPException;
import com.arialyy.aria.sftp.SFtpTaskOption;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
@@ -53,7 +53,7 @@ final class SFtpDThreadTaskAdapter extends AbsThreadTaskAdapter {
@Override protected void handlerThreadTask() {
if (session == null) {
fail(new AriaException(TAG, "session 为空"), false);
fail(new AriaSFTPException(TAG, "session 为空"), false);
return;
}
try {
@@ -74,18 +74,13 @@ final class SFtpDThreadTaskAdapter extends AbsThreadTaskAdapter {
CommonUtil.convertSFtpChar(charSet, option.getUrlEntity().remotePath);
download(remotePath);
} catch (SftpException e) {
e.printStackTrace();
ALog.e(TAG, "错误类型:" + e.id);
fail(null, false);
fail(new AriaSFTPException(TAG, "sftp错误错误类型" + e.id, e), false);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
fail(null, false);
fail(new AriaSFTPException(TAG, "字符编码错误", e), false);
} catch (IOException e) {
e.printStackTrace();
fail(null, true);
fail(new AriaSFTPException(TAG, "", e), true);
} catch (JSchException e) {
e.printStackTrace();
fail(null, false);
fail(new AriaSFTPException(TAG, "jsch 错误", e), false);
} finally {
channelSftp.disconnect();
}

View File

@@ -31,7 +31,7 @@ import com.arialyy.aria.core.manager.ThreadTaskManager;
import com.arialyy.aria.core.task.IThreadTask;
import com.arialyy.aria.core.upload.UTaskWrapper;
import com.arialyy.aria.core.upload.UploadEntity;
import com.arialyy.aria.exception.BaseException;
import com.arialyy.aria.exception.AriaException;
import com.arialyy.aria.util.FileUtil;
import com.jcraft.jsch.SftpATTRS;
import java.io.File;
@@ -139,7 +139,7 @@ final class SFtpULoader extends AbsNormalLoader<UTaskWrapper> {
}
}
@Override public void onFail(AbsEntity entity, BaseException e, boolean needRetry) {
@Override public void onFail(AbsEntity entity, AriaException e, boolean needRetry) {
getListener().onFail(needRetry, e);
}
});

View File

@@ -18,7 +18,7 @@ package com.arialyy.aria.sftp.upload;
import com.arialyy.aria.core.common.SubThreadConfig;
import com.arialyy.aria.core.task.AbsThreadTaskAdapter;
import com.arialyy.aria.core.upload.UploadEntity;
import com.arialyy.aria.exception.AriaException;
import com.arialyy.aria.exception.AriaSFTPException;
import com.arialyy.aria.sftp.SFtpTaskOption;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.BufferedRandomAccessFile;
@@ -50,7 +50,7 @@ final class SFtpUThreadTaskAdapter extends AbsThreadTaskAdapter {
@Override protected void handlerThreadTask() {
if (session == null) {
fail(new AriaException(TAG, "session 为空"), false);
fail(new AriaSFTPException(TAG, "session 为空"), false);
return;
}
try {
@@ -74,19 +74,14 @@ final class SFtpUThreadTaskAdapter extends AbsThreadTaskAdapter {
}
channelSftp.cd(remotePath);
upload(remotePath);
} catch (JSchException e) {
e.printStackTrace();
fail(null, false);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
fail(null, false);
} catch (IOException e) {
e.printStackTrace();
fail(null, true);
} catch (SftpException e) {
e.printStackTrace();
fail(null, false);
ALog.d(TAG, "错误类型:" + e.id);
fail(new AriaSFTPException(TAG, "sftp错误错误类型" + e.id, e), false);
} catch (UnsupportedEncodingException e) {
fail(new AriaSFTPException(TAG, "字符编码错误", e), false);
} catch (IOException e) {
fail(new AriaSFTPException(TAG, "", e), true);
} catch (JSchException e) {
fail(new AriaSFTPException(TAG, "jsch 错误", e), false);
} finally {
channelSftp.disconnect();
}