     ////////////////////////////////////////////////////////////////////////////
 
     public func startMonitoring() throws {
+        //Ensuring we have a camera
+        guard let camera = camera else {
+            throw BoumBoumError.CameraUnavailable
+        }
+
         //Ensuring we're stopped
         guard state == .Stopped else {
             throw BoumBoumError.AlreadyRunning

public enum BoumBoumError: ErrorType {
    case AlreadyRunning
    case AlreadyStopped
    case TorchModeUnsupported
    case CameraLockFailed(NSError)
    case CameraDeviceInputCreationFailed(NSError)

        videoOutput.videoSettings = [
            kCVPixelBufferPixelFormatTypeKey: NSNumber(unsignedInt: kCVPixelFormatType_32BGRA)
        ]
        return videoOutput
    }

