Author: fperrad
Date: Wed Dec 10 00:28:25 2008
New Revision: 33750
Modified:
trunk/languages/WMLScript/src/wmlsstdlibs.pir
Log:
[WMLScript]
- refactor exception handling (with rethrow)
Modified: trunk/languages/WMLScript/src/wmlsstdlibs.pir
==============================================================================
--- trunk/languages/WMLScript/src/wmlsstdlibs.pir (original)
+++ trunk/languages/WMLScript/src/wmlsstdlibs.pir Wed Dec 10 00:28:25 2008
@@ -120,11 +120,9 @@
die "unable to load compilation unit"
_handler:
.local pmc e
- .local string msg
.get_results (e)
- msg = e
- say msg
- $S0 = "verification failed (can't translate '"
+ $S0 = e
+ $S0 .= "\nverification failed (can't translate '"
$S0 .= url
$S0 .= "')"
e = $S0
@@ -141,13 +139,13 @@
pop_eh
.return (content)
_handler:
- $S0 = err
- print "Can't slurp '"
- print filename
- print "' ("
- print $S0
- print ")\n"
- L1:
+ $S0 = "Can't slurp '"
+ $S0 .= filename
+ $S0 .= "' ("
+ $S1 = err
+ $S0 .= $S1
+ $S0 .= ")\n"
+ printerr $S0
.return ('')
.end
@@ -165,12 +163,16 @@
fh.'close'()
.return (output)
_handler:
- $S0 = err
- print "Can't open '"
- print output
- print "' ("
- print $S0
- print ")\n"
+ .local pmc e
+ .get_results (e)
+ $S0 = "Can't open '"
+ $S0 .= output
+ $S0 .= "' ("
+ $S1 = err
+ $S0 .= $S1
+ $S0 .= ")\n"
+ e = $S0
+ rethrow e
.end
.sub 'save_pir'
@@ -187,12 +189,16 @@
fh.'close'()
.return ()
_handler:
- $S0 = err
- print "Can't open '"
- print output
- print "' ("
- print $S0
- print ")\n"
+ .local pmc e
+ .get_results (e)
+ $S0 = "Can't open '"
+ $S0 .= output
+ $S0 .= "' ("
+ $S1 = err
+ $S0 .= $S1
+ $S0 .= ")\n"
+ e = $S0
+ rethrow e
.end
=back