summaryrefslogtreecommitdiff
path: root/lib/overwrite.rb
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2013-08-08 16:40:54 +0200
committermguetlein <martin.guetlein@gmail.com>2013-08-08 16:40:54 +0200
commitb4c39cd8c4dfcc40bdabc9db205bd347c2c0d826 (patch)
tree66a743c71cc6a89840933174fcf6e4dacd41c358 /lib/overwrite.rb
parent8df7c351733c56b22a638244b88feeca833e196f (diff)
error handling rewrite: making sure to pass backtrace
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r--lib/overwrite.rb16
1 files changed, 6 insertions, 10 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb
index ff43347..0830490 100644
--- a/lib/overwrite.rb
+++ b/lib/overwrite.rb
@@ -155,16 +155,12 @@ module Kernel
t = OpenTox::Task.new uri
t.wait
unless t.completed?
- begin # handle known (i.e. OpenTox) errors
- error = OpenTox::RestClientWrapper.known_errors.select{|error| error[:code] == t.code}.first
- error ? error_method = error[:method] : error_method = :internal_server_error
- report = t.error_report
- report ? error_message = report[RDF::OT.message] : error_message = $!.message
- Object.send(error_method,error_message,t.uri)
- rescue
- internal_server_error "#{$!.message}", t.uri
- #internal_server_error "#{$!.message}\n#{$!.backtrace}", t.uri
- end
+ error = OpenTox::RestClientWrapper.known_errors.select{|error| error[:code] == t.code}.first
+ error_method = error ? error[:method] : :internal_server_error
+ report = t.error_report
+ error_message = report ? report[RDF::OT.message] : $!.message
+ error_cause = report ? report[RDF::OT.errorCause] : nil
+ Object.send(error_method,error_message,t.uri,error_cause)
end
uri = t.resultURI
end