加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

没有堆栈溢出的Java正则表达式解析器

发布时间:2020-12-15 02:15:08 所属栏目:Java 来源:网络整理
导读:使用 java.util.regex处理正则表达式导致大字符串和复杂正则表达式的堆栈溢出(特别是在其中). 有没有办法在Java中更具防御性地处理正则表达式,比如 具有正则表达式的非递归模式 为这些正则表达式抛出一个可捕获的异常(而不是java.lang.Stackoverflow错误),
使用 java.util.regex处理正则表达式导致大字符串和复杂正则表达式的堆栈溢出(特别是在其中).

有没有办法在Java中更具防御性地处理正则表达式,比如

>具有正则表达式的非递归模式
>为这些正则表达式抛出一个可捕获的异常(而不是java.lang.Stackoverflow错误),

或任何其他机制不会杀死我的程序或使其处于不可恢复的状态?

解决方法

StackOverflowError可以像任何异常一样被捕获和处理.错误表示您通常不应该捕获的严重问题,但在这种情况下,您知道它是什么,您需要处理它.抓住它并处理情况(或重新抛出自定义异常).

您可能还需要考虑使用-Xss命令行标志来增加堆栈大小.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读