Handle channel exceptions
Channel errors can be trapped with the WHENEVER ERROR
exception handler:
MAIN
DEFINE ch base.Channel
DEFINE num INT, label CHAR(50)
LET ch = base.Channel.create()
--CALL ch.openFile("data.txt","w")
WHENEVER ERROR CONTINUE
CALL ch.write([num,label])
IF status<0 THEN
DISPLAY SFMT("Could not write to channel: status=%1",status)
END IF
END MAIN
Or with a TRY/CATCH
block:
MAIN
DEFINE ch base.Channel
DEFINE num INT, label CHAR(50)
LET ch = base.Channel.create()
--CALL ch.openFile("data.txt","w")
TRY
CALL ch.write([num,label])
CATCH
DISPLAY SFMT("Could not write to channel: status=%1",status)
END TRY
END MAIN
Both programs will produce the following
output:
Could not write to channel: status=-6344