killme2008 / killme2008/aviatorscript
编译异常能否细分
- Dominant language
- Java
- Stars
- 5.2k
- Forks
- 906
- PR merge metrics
- No merged PRs in 30d
Description
大佬你好, 我们在使用aviator表达式编译时时, 如果有异常会手动缓存下来, 避免有问题的表达式重复编译, 给gc造成较大的压力. 目前表达式编译抛出的是CompileExpressionErrorException, 但是在有些场景下如果触发了线程中断,futuretask会响应中断, 也会抛这个异常, 导致我们错误的缓存了这个表达式. 本质上我们期望缓存的是因表达式自身有问题的那部分, 即词法语法解析异常的部分, 其他的异常不应该缓存. 所以aviator编译时抛的异常能否细分?(ExpressionSyntaxErrorException这个异常是否能表示表达式自身存在问题的)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the Aviator expression compilation entry point and trace how CompileExpressionErrorException, ExpressionSyntaxErrorException, and FutureTask interruption are propagated. Verify which failures come from lexical or syntax parsing versus interruption or other causes, then confirm that only expression-invalid failures can be distinguished for caching.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100