Это неявно окончательно, потому что для вас не имеет смысла менять объект, на который указывает ex
, особенно в этом случае, когда это может быть либо IOException
, либо SQLException
, и, следовательно, (статический) компилятору будет сложно определить тип назначения.