使用java.util.regex
处理正则表达式导致大字符串和复杂正则表达式(特别是其中包含|
)的堆栈溢出。
有没有办法在Java中更具防御性地处理正则表达式,比如
或任何其他机制不会杀死我的程序或将其置于不可恢复的状态?
答案 0 :(得分:0)
StackOverflowError
可以像任何异常一样被捕获和处理。错误表示您通常不应该捕获的严重问题,但在这种情况下,您知道它是什么,您需要处理它。抓住它并处理情况(或重新抛出自定义异常)。
您可能还需要考虑使用-Xss
命令行标志来增加堆栈大小。