diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2004-05-25 20:42:43 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2004-05-25 20:42:43 (GMT) |
commit | a92bea9824750bfe1962893217f244df483743b6 (patch) | |
tree | 61a05640754ba7809dd0a7f58c21f83e6d578623 | |
parent | a8285cfa1f174bf3040c3c74b408ba979bfe8692 (diff) | |
download | tcl-a92bea9824750bfe1962893217f244df483743b6.zip tcl-a92bea9824750bfe1962893217f244df483743b6.tar.gz tcl-a92bea9824750bfe1962893217f244df483743b6.tar.bz2 |
Added example
-rw-r--r-- | doc/close.n | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/doc/close.n b/doc/close.n index c5d772b..d5ba90b 100644 --- a/doc/close.n +++ b/doc/close.n @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: close.n,v 1.5 2004/04/26 14:38:09 dkf Exp $ +'\" RCS: @(#) $Id: close.n,v 1.6 2004/05/25 20:42:43 dkf Exp $ '\" .so man.macros .TH close n 7.5 Tcl "Tcl Built-In Commands" @@ -62,6 +62,21 @@ The command returns an empty string, and may generate an error if an error occurs while flushing output. If a command in a command pipeline created with \fBopen\fR returns an error, \fBclose\fR generates an error (similar to the \fBexec\fR command.) +.SH EXAMPLE +This illustrates how you can use Tcl to ensure that files get closed +even when errors happen by combining \fBcatch\fR, \fBclose\fR and +\fBreturn\fR: +.CS +proc withOpenFile {filename channelVar script} { + upvar 1 $channelVar chan + set chan [open $filename] + catch { + uplevel 1 $script + } result options + close $chan + return -options $options $result +} +.CE .SH "SEE ALSO" file(n), open(n), socket(n), eof(n), Tcl_StandardChannels(3) |