When reaching an EndOfExecutionPath, many rules explicitly do nothing when it exits on Runtime exceptions. If the exception is unknown, it either means that we failed to resolve the semantic or that it's an exception added by the engine to reflect that something bad happened. In both case, it makes sense to treat them as Runtime exception, excluding them the same way.
- S3546: CustomUnclosedResourcesCheck
- S3516: InvariantReturnCheck
- S2222: LocksNotUnlockedCheck
- S2095: UnclosedResourcesCheck
- S2755: XxeProcessingCheck
Specific example for S2095, in the following snippet we raise FP, because called method creates exceptional yield with unknown exception type. S2095 should not raise issue on exit path with exception when exception type is unknown symbol.