View Single Post
  #2   Spotlight this post!  
Unread 11-02-2015, 19:52
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,043
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Thumbs up Re: Prevent code crash when Camera unplugged.

Yup. Python allows you to catch exceptions using exception handlers.

Code:
try:
   ... camera initialization code goes here
except:
    self.logger.error("No camera detected")
Or if you want it to crash when you're not at a match -- but not during a match, you can do this instead:

Code:
try:
    ... 
except:
    if not self.isFmsAttached():
        raise
We should probably add a note about this to the documentation, or make sure it doesn't crash.

Similar issues exist if you don't test your code well enough, and it crashes somewhere -- you're done for even on simple syntax errors. For that reason, I've thought about creating a version of iterative robot that would only crash if the robot wasn't connected to the FMS. See https://github.com/robotpy/robotpy-wpilib/issues/96 for my thoughts.
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
Reply With Quote