{"record":{"id":"4c297b7f21ee2832","repo":"Tencent/matrix","slug":"e-getmessage","errorCode":null,"errorMessage":"e.getMessage()","messagePattern":"e\\.getMessage\\(\\)","errorType":"exception","errorClass":"TaskExecuteException","httpStatus":null,"severity":"error","filePath":"matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ResProguardCheckTask.java","lineNumber":104,"sourceCode":"                    File[] dirs = resDir.listFiles();\n                    boolean hasProguard = true;\n                    for (File dir : dirs) {\n                        if (dir.isDirectory() && !fileNamePattern.matcher(dir.getName()).matches()) {\n                            hasProguard = false;\n                            Log.i(TAG, \"directory \" + dir.getName() + \" has a non-proguard name!\");\n                            break;\n                        }\n                    }\n                    ((TaskJsonResult) taskResult).add(\"hasResProguard\", hasProguard);\n                } else {\n                    throw new TaskExecuteException(TAG + \"---No resource directory found!\");\n                }\n            }\n            taskResult.setStartTime(startTime);\n            taskResult.setEndTime(System.currentTimeMillis());\n            return taskResult;\n        } catch (Exception e) {\n            throw new TaskExecuteException(e.getMessage(), e);\n        }\n    }\n}\n","sourceCodeStart":86,"sourceCodeEnd":108,"githubUrl":"https://github.com/Tencent/matrix/blob/3b8293bd65d47eeea7caf1f32a3a5d4d5eab60e7/matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ResProguardCheckTask.java#L86-L108","documentation":"Raised in ResProguardCheckTask.call(): an unexpected exception (I/O or traversal error while listing resource directories) aborts the task and the catch block rethrows it as a TaskExecuteException carrying e.getMessage(). The job framework then records the task as failed rather than letting the raw exception escape the executor.","triggerScenarios":"Thrown at matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ResProguardCheckTask.java:104 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the wrapped e.getMessage() to find the failure while scanning res subdirectories","Ensure the res directory and its entries are readable","Re-run after fixing the underlying IO error"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3b8293bd65d47eeea7caf1f32a3a5d4d5eab60e7","analyzedAt":"2026-09-08T08:01:39.722Z","contentChangedAt":"2026-09-08T08:01:39.722Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}