Open Err
Opens both the standard input (stdin) and standard error (stderr) streams, using it as if it were file operations.
Syntax
`
Open Err [for mode] As [#]filenumber As Long
`
Usage
`
Open Err [for mode] as [#]filenumber
or
result = Open Err( [for mode[,]] as [#]filenumber )
`
Parameters
`mode`
Ignored.
`filenumber`
An unused file number.
Return Value
A 32 bit `Long`: a zero is returned if `Open Err()` completed successfully, otherwise a non-zero value is returned to indicate failure.
Description
This command opens `stdin` to read from and `stderr` to write to the console allowing read and write operations with normal file commands.
`stderr` is an output stream different from `stdout` allowing error messages to be redirected separately from the main console output.
The normal console commands, such as `Color` and `Locate`, do not work in this mode, because they do not accept a file number.
The `Tab` keyword, regardless of the given column number, is always interpreted as a simple comma (`,`) (next output will take place at the next 14 column boundary).
The `[For Input|Output]` `mode` is allowed for compatibility, but is ignored.
The error code returned by `Open Err` can be checked using `Err` in the next line. The function version of `Open Err` returns directly the error code as a 32 bit `Long`.
Runtime errors:
`Open Err` throws one of the following runtime errors:
(`1`) Illegal function call

- `Filenumber` was not free at the time. use `FreeFile` to ensure that `filenumber` is free.

Example
`
Dim a As String
Open Err For Input As #1
Print #1,"Please write something and press ENTER"
Line Input #1, a
Print #1, "You wrote"; a
Close
Sleep
`
Differences from QB

- New to FreeBASIC

See also

- `Open`