Explicit exceptions, filenames, __init__, eval_js

This is great code that you have here!  Nice work!!