mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-20 00:50:25 +02:00
Improved errors on files
This commit is contained in:
parent
85c936f014
commit
befc60aa63
6 changed files with 48 additions and 27 deletions
|
@ -6,21 +6,24 @@ namespace System.IO
|
|||
{
|
||||
public enum FileOpenError
|
||||
{
|
||||
Unknown,
|
||||
NotFound,
|
||||
NotFile,
|
||||
Unknown,
|
||||
SharingViolation
|
||||
}
|
||||
|
||||
public enum FileReadError
|
||||
{
|
||||
Unknown
|
||||
Unknown,
|
||||
Timeout
|
||||
}
|
||||
|
||||
public enum FileError
|
||||
{
|
||||
case FileOpenError(FileOpenError);
|
||||
case FileReadError(FileReadError);
|
||||
case Unknown;
|
||||
case OpenError(FileOpenError);
|
||||
case ReadError(FileReadError);
|
||||
case SeekError;
|
||||
}
|
||||
|
||||
static class File
|
||||
|
@ -30,7 +33,7 @@ namespace System.IO
|
|||
FileStream fs = scope FileStream();
|
||||
var result = fs.Open(path, .Open, .Read);
|
||||
if (result case .Err(let err))
|
||||
return .Err(.FileOpenError(err));
|
||||
return .Err(.OpenError(err));
|
||||
|
||||
while (true)
|
||||
{
|
||||
|
@ -61,9 +64,9 @@ namespace System.IO
|
|||
{
|
||||
StreamReader sr = scope StreamReader();
|
||||
if (sr.Open(path) case .Err(let err))
|
||||
return .Err(.FileOpenError(err));
|
||||
return .Err(.OpenError(err));
|
||||
if (sr.ReadToEnd(outText) case .Err)
|
||||
return .Err(.FileReadError(.Unknown));
|
||||
return .Err(.ReadError(.Unknown));
|
||||
|
||||
if (!preserveLineEnding)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue