use runtime exceptions instead of declaring *any* exception in signatures

Hi, I think this patch will make it much nicer to work with the library.