O erro ocorre quando o CEP inclui letras e símbolos, e é menor ou maior que 8.
Eu encontrei um código (/^[a-zA-Z0-9]+$/.test(str)) que retorna true se uma string é alfanumérica. Alterei ele para retornar true caso a string seja composta apenas por números e apliquei no código abaixo:
const CEP = '01001000';
try {
    if(/^[0-9]+$/.test(CEP) && CEP.length === 8){
        buscaCEP();
    } else {
        throw Error('CEP inválido');
    }
} catch(e) {
    console.log(e);
}
function buscaCEP() {
    const consultaCEP = fetch(`https://viacep.com.br/ws/${CEP}/json/`)
        .then(resposta => resposta.json())
        .then(r => {
            if(r.erro) {
                throw Error('Esse CEP não existe.');
            } else {
                console.log(r);
            }
        })
        .catch(erro => console.log(erro));
    console.log(consultaCEP);
}
 
            