Error: VM Exception while processing transaction: rever
The error basically says "anything could have gone wrong here", which keeps you completely in the dark about its exact location.
Working with a large code-base that contains hundreds of smart contracts, finding the failing line of code quickly becomes a daunting task.
{`contracts/src/2.0.0/protocol/Exchange/MixinSignatureValidator.sol:51:8
require(
isValidSignature(
hash,
signerAddress,
signature
),
"INVALID_SIGNATURE"
)`}
It shows you the exact location of the specific code linen and where it was called from.
Turning "Your code failed somewhere, good luck debugging it" into "Your code failed on line X of contract Y", it drastically improves the developer experience.