diff --git a/components/rgbd-sources/src/streamer.cpp b/components/rgbd-sources/src/streamer.cpp
index 45ac6d4962631d96eb14fcaf88f8cfc733799757..625a92745374647f99ec4222790aa92b05a0a20d 100644
--- a/components/rgbd-sources/src/streamer.cpp
+++ b/components/rgbd-sources/src/streamer.cpp
@@ -269,9 +269,14 @@ void Streamer::_schedule() {
 			auto start = std::chrono::high_resolution_clock::now();
 			try {
 				src->src->grab();
-			} catch (...) {
+			} catch (std::exception &ex) {
 				LOG(ERROR) << "Exception when grabbing frame";
+				LOG(ERROR) << ex.what();
 			}
+			catch (...) {
+				LOG(ERROR) << "Unknown exception when grabbing frame";
+			}
+
 			std::chrono::duration<double> elapsed =
 				std::chrono::high_resolution_clock::now() - start;
 			LOG(INFO) << "Grab in " << elapsed.count() << "s";