apparently default raise() will re-throw original exception
Merge remote-tracking branch 'origin/master'