File: exceptn.4th

package info (click to toggle)
pfe 0.9.14-5
  • links: PTS
  • area: main
  • in suites: potato
  • size: 1,436 kB
  • ctags: 2,439
  • sloc: ansic: 14,095; sh: 438; asm: 113; makefile: 70; perl: 13
file content (32 lines) | stat: -rw-r--r-- 776 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
\
\ test/exception.4th --- tests the exception word set
\ (duz 10Aug93)
\

CR .( exception words) CR .(    )

: FCL		FDEPTH 0 > IF  FDEPTH 0 DO  FDROP  LOOP  THEN ;
D SPACE					\ stack must be empty on entry!

: STK		DROP ?STACK ;		\ a stack underflow exception
: FPE		1E0 0E0 F/ ;		\ a floating point exception

: EX1		['] STK CATCH ;		EX1  -4 = Y  D SPACE
: EX2		['] FPE CATCH ;		EX2 -55 = Y  D SPACE

: FPEE		S" FPE" EVALUATE ;	' FPEE CATCH -55 = Y  D FCL SPACE

: FPEEE		S" ' FPEE CATCH" ;	FPEEE EVALUATE -55 = Y  D FCL SPACE

: UNDEF		S" :-) 0 Y " ;		UNDEF ' EVALUATE CATCH -13 = Y
					2DROP  D

\
\ Test handling signals with Forth words.
\

CR
: SIG-TERM-HDL	." SIGTERM handled ok. " ;
' SIG-TERM-HDL SIGTERM SIGNAL .
SIGTERM RAISE
0 SIGTERM SIGNAL ' SIG-TERM-HDL = Y