I\'m encountering a strange behaviour with instanceof in NodeJs. I\'m trying to creating a module which throws exceptions which can be caught by consuming modules and dealt
FOUND IT
To use your example, in file one.js I had:
var mod = require('mymodule');
but in another file two.js I had:
var mod = require('Mymodule');
and everything seemed to work exactly the same, except when you compared an error created from one.js using instanceof in two.js!.
Absurdly, node.js allows you to do a case-insensitive require, except it's not really case-insensitive, it actually requires your file twice, which is why instanceof returns false – the constructors are two different functions from two different module instances!
TL;DR
Make sure all your require strings are case-consistent.