SoftwareSerial wird nie available()

Wenn Du aber in JAVA z.B. eine Datenbankverbindung einrichtest und die DB ist nicht erreichbar, dann bricht das Programm wegen der nicht behandelten Exception ab. Die Exception wird vom DB-Treiber (ODBC oder native) geworfen.
Der Abbruch ist nicht im Sinne des Erfinders und da hilft auch kein Redesign.

Wenn man die Exception ordentlich behandelt, kann das Programm sinnvoll darauf reagieren.

Gruß Tommy