Sì, come ripeto è in generale un errore cercare di catturare con catch una eccezione "checked" se il compilatore deduce che nel try quella eccezione NON viene mai lanciata (perché nulla la lancia esplicitamente nel try o nessun metodo invocato dal try la dichiara).
Da questa regola sono esentate le eccezioni java.lang.Exception e java.lang.Throwable (che tecnicamente sono entrambe "checked") ma per un motivo molto semplice e logico. Queste eccezioni sono a monte sia delle eccezioni checked che unchecked. Pertanto deve essere possibile mettere un catch generico di Exception o Throwable anche in assenza di eccezioni checked, perché appunto ci possono essere anche solo eccezioni unchecked.
Se invece tu estendi java.lang.Exception facendo una TuaException, questa è certamente solo checked, quindi vale di nuovo la regola detta sopra, ovvero se cerchi di fare catch (TuaException e) ma nel try nulla la lancia, è un errore.
Sì risale lungo lo stack all'indietro fino a trovare un catch applicabile.