add unique error codes
fix throwing errors inside catch/finally
add "throw"