a única coisa a se atentar é se receber como entrada algum Unicode com valor acima de U+10FFFF
Não tem como, porque o próprio Unicode definiu que o maior valor possível é U+10FFFF. Se o valor for maior que isso (ou menor que zero), não é Unicode (e provavelmente ocorreu algum erro).