реакция на cancel от промта

Как по мне, очень плохо. Злоупотребление

eval

, имхо, данные даже никак не экранируются и не фильтруются.

И если бы вы сразу написали

воспользовавшись неявным приведением типа, то и проблемы бы наверное не было.