A bit more nio and log IO errors (#920)
* A bit more nio and log IO errors * Use Scarpet logger
This commit is contained in:
1 parent
3a83a94361
commit
7975ab65cd
1 file changed
+14
-4
@@ -1,6 +1,7 @@
|
|||||||
package carpet.script.argument;
|
package carpet.script.argument;
|
||||||
|
|
||||||
import carpet.CarpetServer;
|
import carpet.CarpetServer;
|
||||||
|
import carpet.script.CarpetScriptServer;
|
||||||
import carpet.script.bundled.Module;
|
import carpet.script.bundled.Module;
|
||||||
import carpet.script.exception.InternalExpressionException;
|
import carpet.script.exception.InternalExpressionException;
|
||||||
import carpet.script.exception.ThrowStatement;
|
import carpet.script.exception.ThrowStatement;
|
||||||
@@ -28,7 +29,6 @@ import java.io.BufferedReader;
|
|||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.OutputStreamWriter;
|
import java.io.OutputStreamWriter;
|
||||||
@@ -193,8 +193,9 @@ public class FileArgument
|
|||||||
if (!Files.exists(zipPath.getParent())) Files.createDirectories(zipPath.getParent());
|
if (!Files.exists(zipPath.getParent())) Files.createDirectories(zipPath.getParent());
|
||||||
zfs = FileSystems.newFileSystem(URI.create("jar:"+ zipPath.toUri().toString()), env);
|
zfs = FileSystems.newFileSystem(URI.create("jar:"+ zipPath.toUri().toString()), env);
|
||||||
}
|
}
|
||||||
catch (FileSystemNotFoundException | IOException fsnfe)
|
catch (FileSystemNotFoundException | IOException e)
|
||||||
{
|
{
|
||||||
|
CarpetScriptServer.LOG.warn("Exception when opening zip file", e);
|
||||||
throw new ThrowStatement("Unable to open zip file: "+zipContainer, Throwables.IO_EXCEPTION);
|
throw new ThrowStatement("Unable to open zip file: "+zipContainer, Throwables.IO_EXCEPTION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -295,6 +296,7 @@ public class FileArgument
|
|||||||
Files.createDirectories(file.getParent()) == null
|
Files.createDirectories(file.getParent()) == null
|
||||||
) throw new IOException();
|
) throw new IOException();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
CarpetScriptServer.LOG.warn("IOException when creating paths", e);
|
||||||
throw new ThrowStatement("Unable to create paths for "+file.toString(), Throwables.IO_EXCEPTION);
|
throw new ThrowStatement("Unable to create paths for "+file.toString(), Throwables.IO_EXCEPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -319,6 +321,7 @@ public class FileArgument
|
|||||||
} }
|
} }
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
{
|
{
|
||||||
|
CarpetScriptServer.LOG.warn("IOException when appending to text file", e);
|
||||||
throw new ThrowStatement("Error when writing to the file: "+e, Throwables.IO_EXCEPTION);
|
throw new ThrowStatement("Error when writing to the file: "+e, Throwables.IO_EXCEPTION);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
@@ -375,8 +378,11 @@ public class FileArgument
|
|||||||
return TagReaders.of(byte_1).read(dataInput_1, 0, PositionTracker.DEFAULT);
|
return TagReaders.of(byte_1).read(dataInput_1, 0, PositionTracker.DEFAULT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (IOException ignored)
|
catch (IOException secondIO)
|
||||||
{
|
{
|
||||||
|
CarpetScriptServer.LOG.warn("IOException when trying to read nbt file, something may have gone wrong with the fs",e);
|
||||||
|
CarpetScriptServer.LOG.catching(ioException);
|
||||||
|
CarpetScriptServer.LOG.catching(secondIO);
|
||||||
throw new ThrowStatement("Not a valid NBT tag in "+path.toString(), Throwables.NBT_ERROR);
|
throw new ThrowStatement("Not a valid NBT tag in "+path.toString(), Throwables.NBT_ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -409,7 +415,7 @@ public class FileArgument
|
|||||||
{
|
{
|
||||||
if (!zipped)
|
if (!zipped)
|
||||||
{
|
{
|
||||||
path = new File(path.toFile().getAbsolutePath() + "_tmp").toPath();
|
path = path.getParent().resolve(path.getFileName() + "_tmp");
|
||||||
Files.deleteIfExists(path);
|
Files.deleteIfExists(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -438,6 +444,7 @@ public class FileArgument
|
|||||||
}
|
}
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
{
|
{
|
||||||
|
CarpetScriptServer.LOG.warn("IO Exception when writing nbt file", e);
|
||||||
throw new ThrowStatement("Unable to write tag to "+original.toString(), Throwables.IO_EXCEPTION);
|
throw new ThrowStatement("Unable to write tag to "+original.toString(), Throwables.IO_EXCEPTION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -453,6 +460,7 @@ public class FileArgument
|
|||||||
} }
|
} }
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
{
|
{
|
||||||
|
CarpetScriptServer.LOG.warn("IOException when removing file", e);
|
||||||
throw new ThrowStatement("Error while removing file: "+getDisplayPath(), Throwables.IO_EXCEPTION);
|
throw new ThrowStatement("Error while removing file: "+getDisplayPath(), Throwables.IO_EXCEPTION);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
@@ -488,6 +496,7 @@ public class FileArgument
|
|||||||
}
|
}
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
{
|
{
|
||||||
|
CarpetScriptServer.LOG.warn("IOException when reading text file", e);
|
||||||
throw new ThrowStatement("Failed to read text file "+filePath.toString(), Throwables.IO_EXCEPTION);
|
throw new ThrowStatement("Failed to read text file "+filePath.toString(), Throwables.IO_EXCEPTION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -521,6 +530,7 @@ public class FileArgument
|
|||||||
}
|
}
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
{
|
{
|
||||||
|
CarpetScriptServer.LOG.warn("IOException when reading JSON file", e);
|
||||||
throw new ThrowStatement("Failed to read json file content "+filePath.toString(), Throwables.IO_EXCEPTION);
|
throw new ThrowStatement("Failed to read json file content "+filePath.toString(), Throwables.IO_EXCEPTION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user