Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
PROC raise exception= ([]STRING args)VOID: (
|
||||
put(stand error, ("Exception: ",args, newline));
|
||||
stop
|
||||
);
|
||||
|
||||
PROC raise zero division error := VOID:
|
||||
raise exception("integer division or modulo by zero");
|
||||
|
||||
PROC int div = (INT a,b)REAL: a/b;
|
||||
PROC int over = (INT a,b)INT: a%b;
|
||||
PROC int mod = (INT a,b)INT: a%*b;
|
||||
|
||||
BEGIN
|
||||
OP / = (INT a,b)REAL: ( b = 0 | raise zero division error; SKIP | int div (a,b) );
|
||||
OP % = (INT a,b)INT: ( b = 0 | raise zero division error; SKIP | int over(a,b) );
|
||||
OP %* = (INT a,b)INT: ( b = 0 | raise zero division error; SKIP | int mod (a,b) );
|
||||
|
||||
PROC a different handler = VOID: (
|
||||
put(stand error,("caught division by zero",new line));
|
||||
stop
|
||||
);
|
||||
|
||||
INT x:=1, y:=0;
|
||||
raise zero division error := a different handler;
|
||||
print(x/y)
|
||||
END
|
||||
Loading…
Add table
Add a link
Reference in a new issue