File tree Expand file tree Collapse file tree 3 files changed +17
-8
lines changed Expand file tree Collapse file tree 3 files changed +17
-8
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,16 @@ def run(source)
9
9
raise NotImplementedError
10
10
end
11
11
12
+ def exception_to_string ( err )
13
+ # Beautify the backtrace a little bit
14
+ backtrace = err . backtrace
15
+ backtrace = backtrace . select { |i | i . include? '<anonymous>' }
16
+ backtrace = backtrace . map { |i | i . gsub ( /.*(<anonymous>)/ , '\1' ) }
17
+ backtrace = [ "(file)" ] if backtrace . empty?
18
+ err . set_backtrace ( backtrace )
19
+ err . full_message
20
+ end
21
+
12
22
def run_with_writer ( source , writer , &block )
13
23
@writer = writer
14
24
@dots = 0
Original file line number Diff line number Diff line change @@ -106,7 +106,12 @@ def run(source)
106
106
107
107
yield `vm.eval(source).toString()`
108
108
rescue JS ::Error => err
109
- @writer . log_error ( err )
109
+ raise err
110
+ end
111
+
112
+ def exception_to_string ( err )
113
+ # "...: undefined method `reverse' for 40:Integer (NoMethodError)\n (Exception)\n"
114
+ super ( err ) . sub ( /\s +\( Exception\) \s *\z / , '' )
110
115
end
111
116
end
112
117
end
Original file line number Diff line number Diff line change @@ -431,13 +431,7 @@ def count_lines
431
431
432
432
def log_error ( err )
433
433
unless err . is_a? String
434
- # Beautify the backtrace a little bit
435
- backtrace = err . backtrace
436
- backtrace = backtrace . select { |i | i . include? '<anonymous>' }
437
- backtrace = backtrace . map { |i | i . gsub ( /.*(<anonymous>)/ , '\1' ) }
438
- backtrace = [ "(file)" ] if backtrace . empty?
439
- err . set_backtrace ( backtrace )
440
- err = err . full_message
434
+ err = @engine . exception_to_string ( err )
441
435
end
442
436
443
437
from = count_lines
You can’t perform that action at this time.
0 commit comments