The surest way to avoid this exception is to not use it head. Instead, you can use pattern matching to get the title and tail of the list:
unicodeValueList (x:xs) = getLetterUnicodeValue x : unicodeValueList xs
total (x:xs) = x + total xs
, x xs , , , .
, , : , , . , , , , ( ).
, , ? , unicode, ? , :
unicodeValueList [] = []
, , . if, , head tail, . , , . head tail, , , - , .