# Abort in rescue

**URL:** <https://www.ruby-forum.com/t/abort-in-rescue/150789>\
**Category:** Development\
**Created:** [October 13, 2008, 10:45am UTC](https://www.ruby-forum.com/t/abort-in-rescue/150789 "2008-10-13T10:45:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [October 13, 2008, 10:45am UTC](https://www.ruby-forum.com/t/abort-in-rescue/150789/1 "2008-10-13T10:45:16Z")

</div>

e$B1sF#$G$9!#e(B

1.8 e$B$G$Oe(B rescue e$B$NCf$Ge(B abort  
e$B$9$k$H%9%?%C%/%H%l!\<%9$r=P$9$h$&$G$9$,!"e(B  
1.9 e$B$G$O2?$bI=\<($5$l$J$/$J$C$F$$$^$9!#e(B

$ ruby18 -e ‘begin; raise; rescue; abort; end’  
-e:1: unhandled exception

$ ruby19 -e ‘begin; raise; rescue; abort; end’

rb\_f\_abort  
e$B$r8+$k$H%9%?%C%/%H%l!\<%9$r=P$=$&$H$9$k%3!\<%I$,;D$C$F$_$j!"e(B  
e$B0U?^E_$J5sF0JQ99$K$O8+$($^$;$s$G$7$?!#e(B

e$B%9%?%C%/%H%l!\<%9$r=P$9$h$&$K$9$k$N$O4JC1$G$9$,!“e(B1.9 e$B$G$Oe(B $!  
= nil e$B$,e(B  
e$B6X;_$5$l$F$$$k$?$a!"$3$N5sF0$rM^;_$9$kJ}K!$,$”$j$^$;$s!#e(B

$ ruby18 -e ‘begin; raise; rescue; $! = nil; abort; end’

$ ruby19 -e ‘begin; raise; rescue; $! = nil; abort; end’  
-e:1:in `rescue in <main>': $! is a read-only variable (NameError) from -e:1:in`’

e$B$I$&$7$?$b$s$G$7$g$&$+!#e(B  
e$B0J2\<$O%9%?%C%/%H%l!\<%9$r=P$9$h$&$K$7!"e(B$!  
e$B$X$NBeF~$r5v2D$9$k$h$&$Ke(B  
e$B$9$k%Q%C%A$G$9!#e(B

# Index: eval.c

— eval.c (revision 19769)  
+++ eval.c (working copy)  
@@ -426,7 +426,7 @@  
rb\_raise(rb\_eInterrupt, “%s”, “”);  
}

-static VALUE get\_errinfo(void);  
+VALUE get\_errinfo(void);

/\*

- call-seq:  
@@ -953,7 +953,7 @@  
return 0;  
}

-static VALUE  
+VALUE  
get\_errinfo(void)  
{  
VALUE \*ptr = errinfo\_place();  
@@ -971,7 +971,6 @@  
return get\_errinfo();  
}

-#if 0  
static void  
errinfo\_setter(VALUE val, ID id, VALUE \*var)  
{  
@@ -988,7 +987,6 @@  
}  
}  
}  
-#endif

VALUE  
rb\_errinfo(void)  
@@ -1119,7 +1117,7 @@  
Init\_eval(void)  
{  
rb\_define\_virtual\_variable("$@", errat\_getter, errat\_setter);

- rb\_define\_virtual\_variable("$!", errinfo\_getter, 0);

- rb\_define\_virtual\_variable("$!", errinfo\_getter, errinfo\_setter);

- extern VALUE get\_errinfo(void);

- if (!NIL\_P(GET\_THREAD()-\>errinfo)) {

- VALUE errinfo = GET\_THREAD()-\>errinfo = get\_errinfo();
- if (!NIL\_P(errinfo)) {  
ruby\_error\_print();  
}  
rb\_exit(EXIT\_FAILURE);

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [October 21, 2008, 1:14pm UTC](https://www.ruby-forum.com/t/abort-in-rescue/150789/2 "2008-10-21T13:14:19Z")

</div>

e$B1sF#$G$9!#e(B

e$B$3$N7o!"H?1~$r$\*4j$$$7$^$9!#e(B \> e$B$5$5$@$5$se(B

2008/10/13 17:41 Yusuke ENDOH [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [October 22, 2008, 3:49pm UTC](https://www.ruby-forum.com/t/abort-in-rescue/150789/3 "2008-10-22T15:49:57Z")

</div>

e$B1sF#$G$9!#e(B

2008/10/21 20:43 SASADA Koichi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > > rb\_f\_abort e$B$r8+$k$H%9%?%C%/%H%l!\<%9$r=P$=$&$H$9$k%3!\<%I$,;D$C$F$_$j!"e(B  
> > > e$B0U?^E_$J5sF0JQ99$K$O8+$($^$;$s$G$7$?!#e(B
> 
> e$B!!$3$C$A$O%P%0$H$7$F9M$($k$H$7$F!%e(B

e$B$O$$!#e(B

> > > e$B%9%?%C%/%H%l!\<%9$r=P$9$h$&$K$9$k$N$O4JC1$G$9$,!“e(B1.9 e$B$G$Oe(B $! = nil e$B$,e(B  
> > > e$B6X;_$5$l$F$$$k$?$a!"$3$N5sF0$rM^;_$9$kJ}K!$,$”$j$^$;$s!#e(B
> 
> e$B!!$3$C$A$O!$;EMMJQ99$K$J$j$^$9!%e(B
> 
> e$B;d$O!$e(B[ruby-dev:31473] setter of $! e$B$K$F!$e(BYARV e$B$Ne$7$s$I$=$&e(B  
> e$B$@$C$?!J$I$&$$$&\<BAu$r$9$l$P$h$/$o$+$i$J$+$C$?!K$N$G!$!V;H$C$F$$$J$$e(B  
> e$B$J$i\>C$7$F$$$$!)!W$HJ9$-$^$7$?!%e(B[ruby-dev:31484] e$B$G$^$D$b$H$5$s$be(B  
> e$B!V$$$$$s$8$c$J$$$G$7$g$&$+!#!W$H$$$&H?1~$r$5$l$F$$$^$9!%$G!$$H$/$KH?e(B  
> e$BO@$b$J$+$C$?$N$GL58z$K$7$?$s$@$H;W$$$^$9!%e(B

$! e$B$X$N=q$-9~$_6X;_$,e(B ML  
e$B$G5DO@$5$l$?\>e$G$NJQ99$H$OCN$j$^$;$s$G$7$?!#e(B

# ChangeLog e$B$KJQ99M}M3$de(B ML

e$B$X$N;2\>H$,=q$+$l$F$$$J$+$C$?$N$G!#e(B

e$B%U%j!\<%:8e$G$9$N$G!"$=$&$$$&$3$H$J$iLa$5$J$/$F$$$$$G$9!#e(B  
abort e$B$,%9%?%C%/%H%l!\<%9$r=P$9$N$,7y$J$i!"e(Bexit(false)  
e$B$G2sHr$G$-$k!“e(B  
e$B$H$$$&@b$b$”$j$^$9$7!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [October 21, 2008, 1:45pm UTC](https://www.ruby-forum.com/t/abort-in-rescue/150789/4 "2008-10-21T13:45:30Z")

</div>

e$B!!$5$5$@$G$9!%e(B

e$B!!JV;v$,CY$/$J$C$F$9$\_$^$;$s!%e(B

Yusuke ENDOH wrote:

> > rb\_f\_abort e$B$r8+$k$H%9%?%C%/%H%l!\<%9$r=P$=$&$H$9$k%3!\<%I$,;D$C$F$_$j!"e(B  
> > e$B0U?^E_$J5sF0JQ99$K$O8+$($^$;$s$G$7$?!#e(B

e$B!!$3$C$A$O%P%0$H$7$F9M$($k$H$7$F!%e(B

> > e$B$I$&$7$?$b$s$G$7$g$&$+!#e(B

e$B!!$3$C$A$O!$;EMMJQ99$K$J$j$^$9!%e(B

e$B!!;d$O!$e(B[ruby-dev:31473] setter of $! e$B$K$F!$e(BYARV  
e$B$Ne$7$s$I$=$&e(B  
e$B$@$C$?!J$I$&$$$&\<BAu$r$9$l$P$h$/$o$+$i$J$+$C$?!K$N$G!$!V;H$C$F$$$J$$e(B  
e$B$J$i\>C$7$F$$$$!)!W$HJ9$-$^$7$?!%e(B[ruby-dev:31484]  
e$B$G$^$D$b$H$5$s$be(B  
e$B!V$$$$$s$8$c$J$$$G$7$g$&$+!#!W$H$$$&H?1~$r$5$l$F$$$^$9!%$G!$$H$/$KH?e(B  
e$BO@$b$J$+$C$?$N$GL58z$K$7$?$s$@$H;W$$$^$9!%e(B

e$B!!$5$F!$$3$l$O$I$&$9$k$Y$-$G$7$g$&$+!%\<BAu$K$D$$$F$O!$$"$^$j;n$7$F$$e(B  
e$B$J$$$N$G$9$,!$$3$&$9$l$P$$$$$N$+$J$!!$$H$$$&8+Ev$O$D$$$F$O$$$^$9!%e(B  
e$B$,!$K\Ev$K$=$l$G$$$$$N$+;n$7$F$\_$J$$$H$h$/$o$+$j$^$;$s!%e(B

e$B!!;EMMJQ99$K$J$k$N$G!$0N$$?M$KH=CG$r6D$.$?$$$H;W$$$^$9!%e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [October 23, 2008, 10:00pm UTC](https://www.ruby-forum.com/t/abort-in-rescue/150789/5 "2008-10-23T22:00:08Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Yusuke ENDOH wrote:

> 2008/10/21 20:43 SASADA Koichi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
> 
> > > > rb\_f\_abort e$B$r8+$k$H%9%?%C%/%H%l!\<%9$r=P$=$&$H$9$k%3!\<%I$,;D$C$F$_$j!"e(B  
> > > > e$B0U?^E_$J5sF0JQ99$K$O8+$($^$;$s$G$7$?!#e(B  
> > > > e$B!!$3$C$A$O%P%0$H$7$F9M$($k$H$7$F!%e(B
> 
> e$B$O$$!#e(B

e$B!!$3$l$K4X$7$F$O!$!V%9%?%C%/%H%l!\<%9$r=P$9$Y$-$G$O$J$$$N$G$O$J$$$+!We(B  
e$B$H$$$&0U8+$,e(B IRC e$B$G=P$F$$$^$7$?!%$I$&$9$k$Y$-$G$7$g$&$+!%e(B

e$B!!=P$5$J$$$h$&$K$9$k$H!$:#2s$N!V=P$5$J$$$h$&$K$9$k$?$a$K$O!A!W$H$$$&e(B  
e$BA0Ds$,Jx$l$k$+$H;W$$$^$9!%e(B
