diff --git a/src/upload.d b/src/upload.d index c3d74133..d93a499e 100644 --- a/src/upload.d +++ b/src/upload.d @@ -39,10 +39,19 @@ struct UploadSession ]) ]; - session = onedrive.createUploadSession(parentDriveId, parentId, filename, eTag, fileSystemInfo); - session["localPath"] = localPath; - save(); - return upload(); + try { + // Try to create the upload session for this file + session = onedrive.createUploadSession(parentDriveId, parentId, filename, eTag, fileSystemInfo); + session["localPath"] = localPath; + save(); + return upload(); + } catch (OneDriveException e) { + // there was an error + log.vlog("Create file upload session failed ... skipping file upload"); + // return upload() will return a JSONValue response, create an empty JSONValue response to return + JSONValue response; + return response; + } } /* Restore the previous upload session.