如果您的
try块中引发了异常,则该变量
num可能确实尚未初始化。如果包含该
catch块,那么无论执行什么都可以继续到错误行,因此编译器将报告您指出的错误。
如果删除该
catch块,则只有在没有异常的情况下,执行才会到达“错误行”,在这种情况下,变量将在内初始化
try。
(我假设您已经知道在使用局部变量之前需要对它们进行初始化,并且专注于您在代码
catch块中注意到的行为…)

如果您的
try块中引发了异常,则该变量
num可能确实尚未初始化。如果包含该
catch块,那么无论执行什么都可以继续到错误行,因此编译器将报告您指出的错误。
如果删除该
catch块,则只有在没有异常的情况下,执行才会到达“错误行”,在这种情况下,变量将在内初始化
try。
(我假设您已经知道在使用局部变量之前需要对它们进行初始化,并且专注于您在代码
catch块中注意到的行为…)