try-finally块可以捕获部分异常,但不能捕获所有异常。如果在try块中发生了异常,finally块会执行,但是finally块中的异常将会覆盖之前的异常。因此,如果finally块中抛出了异常,之前的异常将被覆盖,无法捕获所有异常。所以说,try-finally不能捕获所有异常。