From 0dd996c6a32ab7cd524081cff88f6e95efb5b4b5 Mon Sep 17 00:00:00 2001 From: luddens Date: Thu, 24 Oct 2019 17:40:42 +0200 Subject: [PATCH] add try catch around aria2 first commands --- src/downloader.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/downloader.cpp b/src/downloader.cpp index fa54e2e17..393810d2a 100644 --- a/src/downloader.cpp +++ b/src/downloader.cpp @@ -127,17 +127,24 @@ void Download::cancelDownload() Downloader::Downloader() : mp_aria(new Aria2()) { - for (auto gid : mp_aria->tellActive()) { - m_knownDownloads[gid] = std::unique_ptr(new Download(mp_aria, gid)); - m_knownDownloads[gid]->updateStatus(); + try { + for (auto gid : mp_aria->tellActive()) { + m_knownDownloads[gid] = std::unique_ptr(new Download(mp_aria, gid)); + m_knownDownloads[gid]->updateStatus(); + } + } catch (std::exception& e) { + std::cerr << "aria2 tellActive failed : " << e.what(); } - for (auto gid : mp_aria->tellWaiting()) { - m_knownDownloads[gid] = std::unique_ptr(new Download(mp_aria, gid)); - m_knownDownloads[gid]->updateStatus(); + try { + for (auto gid : mp_aria->tellWaiting()) { + m_knownDownloads[gid] = std::unique_ptr(new Download(mp_aria, gid)); + m_knownDownloads[gid]->updateStatus(); + } + } catch (std::exception& e) { + std::cerr << "aria2 tellWaiting failed : " << e.what(); } } - /* Destructor */ Downloader::~Downloader() {