diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-27 02:22:14 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-27 02:22:14 +0000 |
| commit | 1ef99931e131343f069a4b74edfc06196d72d85b (patch) | |
| tree | d640f061a66a193d5f4d92b61836161208ccff14 /src/PeerAbstractCommand.cc | |
| parent | a7952cce05a41c6e20d6eddc569a8bffe974aade (diff) | |
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten Exception class. Throw exception object, not its pointer and
catch by reference, so that remove problematic delete operator for
catched exception.
* src/Exception.cc
* src/Exception.h
* test/ExceptionTest.cc
* src/*: All files throwing/catching exception.
* test/*: All files throwing/catching exception.
Diffstat (limited to 'src/PeerAbstractCommand.cc')
| -rw-r--r-- | src/PeerAbstractCommand.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/PeerAbstractCommand.cc b/src/PeerAbstractCommand.cc index b46fdc31..d8ee695f 100644 --- a/src/PeerAbstractCommand.cc +++ b/src/PeerAbstractCommand.cc @@ -74,7 +74,7 @@ PeerAbstractCommand::~PeerAbstractCommand() { bool PeerAbstractCommand::execute() { if(exitBeforeExecute()) { - onAbort(0); + onAbort(); return true; } try { @@ -88,15 +88,14 @@ bool PeerAbstractCommand::execute() { checkPoint.reset(); } if(checkPoint.elapsed(timeout)) { - throw new DlAbortEx(EX_TIME_OUT); + throw DlAbortEx(EX_TIME_OUT); } return executeInternal(); - } catch(RecoverableException* err) { + } catch(RecoverableException& err) { logger->debug(MSG_TORRENT_DOWNLOAD_ABORTED, err, cuid); logger->debug(MSG_PEER_BANNED, cuid, peer->ipaddr.c_str(), peer->port); - onAbort(err); - delete err; + onAbort(); return prepareForNextPeer(0); } } |
