{{fbdoc item="title" value="OPEN ERR"}}----
Opens both the standard input (//stdin//) and standard error (//stderr//) streams, using it as if it were file operations.

{{fbdoc item="syntax"}}##
	**[[KeyPgOpen|Open]] Err** [for //mode//] [[KeyPgAs|as]] [#]//filenumber// [[KeyPgAs|as]] [[KeyPgLong|long]]
##
{{fbdoc item="usage"}}##
	**Open Err** [for //mode//] as [#]//filenumber//
		//or//
	//result// = **Open Err**( [for //mode//[,]] as [#]//filenumber// )
##
{{fbdoc item="param"}}
	##//mode//##
		Ignored.
	##//filenumber//##
		An unused file number.

{{fbdoc item="ret"}}
	A 32 bit ##[[KeyPgLong|Long]]##: a zero is returned if ##**Open Err()**## completed successfully, otherwise a non-zero value is returned to indicate failure.

{{fbdoc item="desc"}}
	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 ##[[KeyPgColor|Color]]## and ##[[KeyPgLocate|Locate]]##, do not work in this mode, because they do not accept a file number.
	The ##[[KeyPgTab|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 ##[[KeyPgErr|Err]]## in the next line. The function version of  ##**Open Err**## returns directly the error code as a 32 bit ##[[KeyPgLong|Long]]##.

**Runtime errors:**
	##**Open Err**## throws one of the following [[ProPgErrorHandling|runtime errors]]:
	
	//(##1##) Illegal function call//
		- ##//Filenumber//## was not free at the time. use ##[[KeyPgFreefile|Freefile]]## to ensure that ##//filenumber//## is free.

{{fbdoc item="ex"}}
{{fbdoc item="filename" value="examples/manual/fileio/openerr.bas"}}%%(freebasic)
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
%%

{{fbdoc item="diff"}}
	- New to ""FreeBASIC""

{{fbdoc item="see"}}
	- ##[[KeyPgOpen|Open]]##

{{fbdoc item="back" value="CatPgFile|File I/O Functions"}}