Vim can also throw number. But it will be automatically stringified and stored into v:exception
try
throw 123
catch
echo type(v:exception) == type('')
" will be 1
endtry
Note that Vim will say "using xxx as string" when trying to throw Dictionary, List, or Float types.