pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] r3271 - trunk/pingus/src/input


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3271 - trunk/pingus/src/input
Date: Mon, 1 Oct 2007 19:24:54 +0200

Author: grumbel
Date: 2007-10-01 19:24:54 +0200 (Mon, 01 Oct 2007)
New Revision: 3271

Modified:
   trunk/pingus/src/input/evdev_device.cpp
   trunk/pingus/src/input/evdev_driver.cpp
Log:
- catch exception properly when EvdevDevice creation fails

Modified: trunk/pingus/src/input/evdev_device.cpp
===================================================================
--- trunk/pingus/src/input/evdev_device.cpp     2007-10-01 17:24:34 UTC (rev 
3270)
+++ trunk/pingus/src/input/evdev_device.cpp     2007-10-01 17:24:54 UTC (rev 
3271)
@@ -44,12 +44,12 @@
 
   if (fd == -1)
     {
-      throw std::runtime_error(strerror(errno));
+      throw std::runtime_error(filename + ": " + std::string(strerror(errno)));
     }
 
   if (ioctl(fd, EVIOCGVERSION, &version)) 
     {
-      throw std::runtime_error("Error: EvdevDevice: Couldn't get version");
+      throw std::runtime_error("Error: EvdevDevice: Couldn't get version for " 
+ filename);
     }
 
   if (1)

Modified: trunk/pingus/src/input/evdev_driver.cpp
===================================================================
--- trunk/pingus/src/input/evdev_driver.cpp     2007-10-01 17:24:34 UTC (rev 
3270)
+++ trunk/pingus/src/input/evdev_driver.cpp     2007-10-01 17:24:54 UTC (rev 
3271)
@@ -58,9 +58,14 @@
         return *i;
     }
 
+  try {
   EvdevDevice* device = new EvdevDevice(device_filename);
   devices.push_back(device);
   return device;
+  } catch (std::exception& err) {
+    std::cout << "EvdevDriver: " << err.what() << std::endl;
+    return 0;
+  }
 }
 
 Button*





reply via email to

[Prev in Thread] Current Thread [Next in Thread]