我注意到,当Java代码中存在finally子句时,总是会生成.catchall来标识finally块或使用.catchall标签对其进行内联,但是我没有找到有关是否存在这种情况的在线信息.解释,有人知道吗?
解决方法:
是的,finally块是可能会生成.catchall的一种情况.但是,它也可以用于其他用途.例如,它也可以在同步方法的情况下生成,以确保释放锁定.
捕获所有处理程序记录在dex-format规范中.具体来说,在code_item中包含的encode_catch_handler项中.
同样相关的是classfile specification中的等效数据.请参见exception_table中的catch_type项.