home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l217 / 2.ddi / EXAMPLES / CH16EX02.PRO < prev    next >
Encoding:
Prolog Source  |  1990-03-26  |  935 b   |  40 lines

  1. /*
  2.    Copyright (c) 1986, 90 by Prolog Development Center
  3. */
  4.    
  5. domains
  6.    dom = f(INTEGER)
  7.    list = integer *
  8.  
  9. database - mydba
  10.    p1(INTEGER, STRING, CHAR, REAL, DOM, LIST)
  11.  
  12. predicates
  13.    repeat
  14.    handleconsulterr(STRING, INTEGER)
  15.  
  16. clauses
  17.    repeat.
  18.    repeat:-repeat.
  19.  
  20.    handleconsulterr(File, Err):-
  21.       Err>1100, Err<1110, !,
  22.       retractall(_, mydba),
  23.       consulterror(_, LinePos, Filepos),
  24.       Pos=LinePos+FilePos,
  25.       % may need a path to "..\\prolog.err"
  26.       errormsg("prolog.err", Err, Msg, _), 
  27.       file_str(File, Str),
  28.       edit(Str, Str1, "Consult error", File, Msg, Pos,"prolog.hlp", 1, 1, 1, 0, _, RetStatus),
  29.       RetStatus=0,
  30.       file_str(File, Str1).
  31.    handleconsulterr(_, Err):-
  32.       exit(Err).
  33.  
  34. goal
  35.    repeat,
  36.       File="dd.dat",
  37.       trap(consult(File, mydba), Err, handleconsulterr(File,Err)),
  38.       write("\nSUCCESS\n"),
  39.       save(con, mydba).
  40.