简短回答:会,但“影响大不大”取决于异常的用法和频率。
下面分几种情况说清楚:
比如用异常做流程控制:
try {
if (user == null) throw new Exception("no user");
} catch (Exception e) {
// 处理
}
问题:
new Exception())会抓取堆栈try/catch 本身影响不大,但抛异常很贵✅ 正确做法:用 if/else 判断
比如:
这种频率低,性能几乎无感
主要是这三块:
其中最贵的是:堆栈跟踪
例如:
可能慢 几倍到几十倍
✅ 异常只用于“异常”
✅ 不要用异常做控制流
✅ 高频场景避免 throws Exception
✅ 必要时自定义轻量异常(不抓栈)
new RuntimeException("msg", null, false, false);
异常本身不慢,频繁抛异常才慢;异常是“错误处理机制”,不是“逻辑分支”。
如果你说的是某个具体语言(Java / Python / C++ / Go)或场景,我可以更精确地分析。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。