My RTC DS1307 isn't returning any information. It seems to be stuck in the isrunning() function. Does anyone have debugging tips?
First thing I see is the Serial setup seems a bit backward:

  while (!Serial); // for Leonardo/Micro/Zero
  Serial.begin(57600);


First, begin Serial; then wait for it to become ready:

  Serial.begin(57600);
  while (!Serial); // for Leonardo/Micro/Zero


Next, is this while(1); inside the if statement:

  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }


Which says "if !rtc.begin(), then println and go into an infinite loop that does nothing".

Try:

while (!rtc.begin()) {
    Serial.println("Couldn't find RTC");
    //delay(500);  // depending on how fast you want this thing to retry/print
}


the final thing I see, is the next section of code appears like it might be "work code" but is in the setup() function and is missing any kind of a loop.  So it's going to run the if statement once, then setup() exits (and loop() starts getting called).

Either replace the "if" with a "while" and wait for "rtc.running()"

while (!rtc.running()); // Waiting for RTC to be running
// Set the clock time


or move it out of setup() and put it inside loop()

void loop() {
  if (! rtc.isrunning()) { //// **Where I think my code errors.**
    Serial.println("RTC is NOT running!");
    // Perhaps try and fix it?
  } else {
    // If the time hasn't been set; set it; then move on
  }
}