r1319@opsdev009 (orig r70531): cpiro | 2007-11-17 18:10:20 -0800
commit89d7202a9aa910804272ac87bf8683cb28600de0
author(no author) <(no author)@41a61cd8-c433-0410-bb1c-e256eeef9e11>
Sun, 18 Nov 2007 02:12:56 +0000 (18 02:12 +0000)
committer(no author) <(no author)@41a61cd8-c433-0410-bb1c-e256eeef9e11>
Sun, 18 Nov 2007 02:12:56 +0000 (18 02:12 +0000)
treef78771d95182132100083724aecee9c52ddc7611
parent9c7bc450ba531bce9f149f15f7415c73b8c251f3
 r1319@opsdev009 (orig r70531):  cpiro | 2007-11-17 18:10:20 -0800
 [thrift] gut Erlang exception handling

 Summary: * move type field to tException from subclasses
           * add backtrace to tException
           * add oop:is_a
           * on exit, wrap exceptions in {thrift_exception, E} ... otherwise can't distinguish e.g. exit:{{tBinProtException, {tException, ...}}, Stack} vs. exit:{tBinProtException, {tException, ...} -- I hate erlang
           * all throws/exits to tException:throw which does the wrapping described above

 Reviewed By: eletuchy

 Test Plan: been using this code on my live server ^_^

 Revert: OK

git-svn-id: http://svn.facebook.com/svnroot/thrift/trunk@678 41a61cd8-c433-0410-bb1c-e256eeef9e11
22 files changed:
compiler/cpp/src/generate/t_erl_generator.cc
lib/erl/include/oop.hrl
lib/erl/include/protocol/tProtocolException.hrl
lib/erl/include/tApplicationException.hrl
lib/erl/include/tException.hrl
lib/erl/include/thrift_constants.hrl
lib/erl/include/thrift_macros.hrl
lib/erl/include/transport/tTransportException.hrl
lib/erl/src/oop.erl
lib/erl/src/protocol/tBinaryProtocol.erl
lib/erl/src/protocol/tProtocolException.erl
lib/erl/src/server/tErlServer.erl
lib/erl/src/tApplicationException.erl
lib/erl/src/tErlProcessor.erl
lib/erl/src/tException.erl
lib/erl/src/thrift_logger.erl
lib/erl/src/thrift_oop_server.erl
lib/erl/src/thrift_sup.erl
lib/erl/src/thrift_utils.erl
lib/erl/src/transport/tErlAcceptor.erl
lib/erl/src/transport/tSocket.erl
lib/erl/src/transport/tTransportException.erl