Skip to content

errorUnnecessaryCaptureStackTraces

Reports unnecessary Error.captureStackTrace() calls in Error subclass constructors.

✅ This rule is included in the ts logical and logicalStrict presets.

Calling Error.captureStackTrace() inside the constructor of a built-in Error subclass is unnecessary, since the Error constructor calls it automatically.

AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyErr5<3 sp ansty="le--0:#C792EA;--1:#8844">AEexten5<3 sp ansty="le--0:#C5E478;--1:#3B61">B0Err53< {d ivclassNa="meec-li">nt< sp ansty="le--0:#82AAFF;--1:#3B61">B0construct11<()sp ansty="le--0:#D6DEEB;--1:#403F">53< {d ivclassNa="meec-li">53 < sp ansty="le--0:#D6DEEB;--1:#403F">53ErrAB0captureStackTra5<3(sp ansty="le--0:#7FDBCA;--1:#096E">72th53, MyError<);d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">5<3}d ivclassNa="meec-li">5<3}d ivclassNa="meco"><}d>
44AEc31111MyE344AEext361B0E3F<53 {divclass="Nameec-">de61B0constru11<11() spans="tyle--0:#D6DEEB;--1:#40">3F<53 {divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72s3F5<3() ;divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E724<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E7234<4AE= spans="tyle--0:#D6DEEB;--1:#40">31<111" spans="tyle--0:#ECC48D;--1:#98">4E4DMyE1<111" spans="tyle--0:#D6DEEB;--1:#40">33F<53 spans="tyle--0:#D6DEEB;--1:#40">33< }>
AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyErr5<3 sp ansty="le--0:#C792EA;--1:#8844">AEexten5<3 sp ansty="le--0:#C5E478;--1:#3B61">B0Err53< {d ivclassNa="meec-li">nt< sp ansty="le--0:#82AAFF;--1:#3B61">B0construct11<()sp ansty="le--0:#D6DEEB;--1:#403F">53< {d ivclassNa="meec-li">53 < sp ansty="le--0:#D6DEEB;--1:#403F">53ErrAB0captureStackTraAE5<3(sp ansty="le--0:#7FDBCA;--1:#096E">72th53, MyError<);d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">5<3}d ivclassNa="meec-li">5<3}d ivclassNa="meco"><}d>
44AEc31111MyE344AEext361B0E3F<53 {divclass="Nameec-">de61B0constru11<11() spans="tyle--0:#D6DEEB;--1:#40">3F<53 {divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72s3F5<3() ;divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E724<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E7234<4AE= spans="tyle--0:#D6DEEB;--1:#40">31<111" spans="tyle--0:#ECC48D;--1:#98">4E4DMyE1<111" spans="tyle--0:#D6DEEB;--1:#40">33F<53 spans="tyle--0:#D6DEEB;--1:#40">33< }>
AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyErr5<3 sp ansty="le--0:#C792EA;--1:#8844">AEexten5<3 sp ansty="le--0:#C5E478;--1:#3B61">B0Err53< {d ivclassNa="meec-li">nt< sp ansty="le--0:#82AAFF;--1:#3B61">B0construct11<()sp ansty="le--0:#D6DEEB;--1:#403F">53< {d ivclassNa="meec-li">53 < sp ansty="le--0:#D6DEEB;--1:#403F">53ErrAB0captureStackTra5<3(sp ansty="le--0:#7FDBCA;--1:#096E">72th53<, sp ansty="le--0:#7FDBCA;--1:#096E">72thA72construct53<);d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">5<3}d ivclassNa="meec-li">5<3}d ivclassNa="meco"><}d>
44AEc31111MyE344AEext361B0E3F<53 {divclass="Nameec-">de61B0constru11<11() spans="tyle--0:#D6DEEB;--1:#40">3F<53 {divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72s3F5<3() ;divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E724<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E7234<4AE= spans="tyle--0:#D6DEEB;--1:#40">31<111" spans="tyle--0:#ECC48D;--1:#98">4E4DMyE1<111" spans="tyle--0:#D6DEEB;--1:#40">33F<53 spans="tyle--0:#D6DEEB;--1:#40">33< }>
AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyErr5<3 sp ansty="le--0:#C792EA;--1:#8844">AEexten5<3 sp ansty="le--0:#C5E478;--1:#3B61">B0Err53< {d ivclassNa="meec-li">nt< sp ansty="le--0:#82AAFF;--1:#3B61">B0construct11<()sp ansty="le--0:#D6DEEB;--1:#403F">53< {d ivclassNa="meec-li">53 < sp ansty="le--0:#D6DEEB;--1:#403F">53ErrAB0captureStackTra5<3(sp ansty="le--0:#7FDBCA;--1:#096E">72th53<, sp ansty="le--0:#7FDBCA;--1:#096E">72nA72targ53<);d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">5<3}d ivclassNa="meec-li">5<3}d ivclassNa="meco"><}d>
44AEc31111MyE344AEext361B0E3F<53 {divclass="Nameec-">de61B0constru11<11() spans="tyle--0:#D6DEEB;--1:#40">3F<53 {divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72s3F5<3() ;divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E724<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E7234<4AE= spans="tyle--0:#D6DEEB;--1:#40">31<111" spans="tyle--0:#ECC48D;--1:#98">4E4DMyE1<111" spans="tyle--0:#D6DEEB;--1:#40">33F<53 spans="tyle--0:#D6DEEB;--1:#40">33< }>

This rule is not configurable.

If you’re extending a custom error class that changes the default behavior to not capture the stack trace, you may need to disable this rule for that specific class.