mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-22 06:01:12 +00:00
Handle IO exceptions with underlying messaging exception
This commit is contained in:
parent
9f623cb3d7
commit
b6ecb416f8
3 changed files with 31 additions and 6 deletions
|
@ -575,6 +575,11 @@ public class MessageHelper {
|
||||||
for (int i = 0; i < multipart.getCount(); i++)
|
for (int i = 0; i < multipart.getCount(); i++)
|
||||||
result.addAll(getAttachments(multipart.getBodyPart(i)));
|
result.addAll(getAttachments(multipart.getBodyPart(i)));
|
||||||
}
|
}
|
||||||
|
} catch (IOException ex) {
|
||||||
|
if (ex.getCause() instanceof MessagingException)
|
||||||
|
Log.w(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));
|
||||||
|
else
|
||||||
|
throw ex;
|
||||||
} catch (ParseException ex) {
|
} catch (ParseException ex) {
|
||||||
Log.w(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));
|
Log.w(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1003,7 +1003,12 @@ public class ServiceSynchronize extends LifecycleService {
|
||||||
} catch (FolderClosedException ex) {
|
} catch (FolderClosedException ex) {
|
||||||
throw ex;
|
throw ex;
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
throw ex;
|
if (ex.getCause() instanceof MessagingException) {
|
||||||
|
Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
|
if (!(ex.getCause() instanceof MessageRemovedException))
|
||||||
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
||||||
|
} else
|
||||||
|
throw ex;
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
||||||
|
@ -1084,7 +1089,12 @@ public class ServiceSynchronize extends LifecycleService {
|
||||||
} catch (FolderClosedException ex) {
|
} catch (FolderClosedException ex) {
|
||||||
throw ex;
|
throw ex;
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
throw ex;
|
if (ex.getCause() instanceof MessagingException) {
|
||||||
|
Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
|
if (!(ex.getCause() instanceof MessageRemovedException))
|
||||||
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
||||||
|
} else
|
||||||
|
throw ex;
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
||||||
|
@ -2095,7 +2105,12 @@ public class ServiceSynchronize extends LifecycleService {
|
||||||
} catch (FolderClosedException ex) {
|
} catch (FolderClosedException ex) {
|
||||||
throw ex;
|
throw ex;
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
throw ex;
|
if (ex.getCause() instanceof MessagingException) {
|
||||||
|
Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
|
if (!(ex.getCause() instanceof MessageRemovedException))
|
||||||
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
||||||
|
} else
|
||||||
|
throw ex;
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
||||||
|
|
|
@ -218,13 +218,18 @@ public class ViewModelBrowse extends ViewModel {
|
||||||
}
|
}
|
||||||
db.message().setMessageFound(message.account, message.thread);
|
db.message().setMessageFound(message.account, message.thread);
|
||||||
} catch (MessageRemovedException ex) {
|
} catch (MessageRemovedException ex) {
|
||||||
Log.w(Helper.TAG, folder.name + "Boundary " + ex + "\n" + Log.getStackTraceString(ex));
|
Log.w(Helper.TAG, folder.name + " boundary " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
} catch (FolderClosedException ex) {
|
} catch (FolderClosedException ex) {
|
||||||
throw ex;
|
throw ex;
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
throw ex;
|
if (ex.getCause() instanceof MessagingException) {
|
||||||
|
Log.w(Helper.TAG, folder.name + " boundary " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
|
if (!(ex.getCause() instanceof MessageRemovedException))
|
||||||
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
||||||
|
} else
|
||||||
|
throw ex;
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
Log.e(Helper.TAG, folder.name + "Boundary " + ex + "\n" + Log.getStackTraceString(ex));
|
Log.e(Helper.TAG, folder.name + " boundary " + ex + "\n" + Log.getStackTraceString(ex));
|
||||||
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex));
|
||||||
} finally {
|
} finally {
|
||||||
((IMAPMessage) isub[j]).invalidateHeaders();
|
((IMAPMessage) isub[j]).invalidateHeaders();
|
||||||
|
|
Loading…
Reference in a new issue