hzzzzl, ReferenceError, как и Error бессмысленно подменять, сам движок js их не использует никак при выбросе исключения. Нужно придумать что можно использовать заместо throw.
function bung() {
try {
a = b;
} catch (e) {
Object.getPrototypeOf(e).name = 'Just throw like this!';
a = b;
}
}
bung(); // Uncaught Just throw like this!: b is not defined
получается пока как-то так. Как бы еще поменять message