Purtroppo non tutti gli autori dei libri sono bravissimi a trasmettere le informazioni, specie quando si tratta di argomenti tecnici, che non sono proprio semplici ne da acquisire, ne da trattare.
Finchè non inventeranno la trasmissione di informazioni brain to brain, dobbiamo purtroppo arrangiarci con le risorse che abbiamo: libri, corsi online, corsi fisici e l'aiuto delle persone su internet.
Anche io, quando ero alle prime armi, avevo difficoltà a disegnarmi in mente gli algoritmi dei programmi che sviluppavo. È una cosa che viene con il tempo e con l'esperienza, ma solo se ci si impegna a migliorarsi con le risorse a disposizione. Non certo se si abbandona perchè un libro è troppo complicato da leggere.
Non esiste una regola generale che dice che in Java gli errori vanno gestiti tramite eccezioni e non a priori. Anzi, un approccio del genere è spesso deleterio nei confronti delle performance dei programmi. La questione varia caso per caso, e soprattutto bisogna sapere come utilizzare i try...catch all'interno del flusso dei programmi (quindi all'interno di eventuali cicli o ricorsioni).
Secondo me hai bisogno di rivedere un po' di teoria, se non riesci a controllare il flusso del programma senza il goto. La maggior parte dei linguaggi moderni non ha il costrutto goto proprio per evitare di incorrere in bad practices e per indurre gli sviluppatori a scrivere dei programmi ben strutturati.
Continua a provare e a studiare, vedrai che ce la farai!