Skip to content

Commit 8703a7f

Browse files
committed
handle exceptions
1 parent 7daad2c commit 8703a7f

File tree

10 files changed

+23
-23
lines changed

10 files changed

+23
-23
lines changed

+stdlib/+java/device.m

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@
1313
try
1414
i = java.nio.file.Files.getAttribute(javaAbsolutePath(file), "unix:dev", opt);
1515
catch e
16-
if class(e.ExceptionObject) ~= "java.nio.file.NoSuchFileException"
17-
rethrow(e)
18-
end
16+
javaException(e)
1917
end
2018

2119
i = uint64(i);

+stdlib/+java/disk_available.m

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
function i = disk_available(file)
2-
arguments
3-
file (1,1) string
4-
end
52

63
i = java.io.File(file).getUsableSpace();
74
if i < 1

+stdlib/+java/disk_capacity.m

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
function i = disk_capacity(file)
2-
arguments
3-
file (1,1) string
4-
end
52

63
i = java.io.File(file).getTotalSpace();
74
if i < 1

+stdlib/+java/filesystem_type.m

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@
77
% this try-catch is faster and more robust
88

99
function t = filesystem_type(file)
10-
arguments
11-
file (1,1) string
12-
end
1310

1411
t = '';
15-
if stdlib.strempty(file), return, end
12+
if stdlib.strempty(file)
13+
return
14+
end
1615

17-
try %#ok<TRYNC>
16+
try
1817
t = char(java.nio.file.Files.getFileStore(javaPathObject(file)).type);
18+
catch e
19+
javaException(e)
1920
end
2021

2122
end

+stdlib/+java/get_owner.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020
% We only saw this issue with R2025a on windows-2025 GA runner image.
2121
opt = java.nio.file.LinkOption.values();
2222

23-
try %#ok<TRYNC>
23+
try
2424
n = string(java.nio.file.Files.getOwner(javaAbsolutePath(file), opt));
25+
catch e
26+
javaException(e)
2527
end
2628

2729
end

+stdlib/+java/hard_link_count.m

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
try
55
i = java.nio.file.Files.getAttribute(javaAbsolutePath(file), "unix:nlink", opt);
66
catch e
7-
if class(e.ExceptionObject) ~= "java.nio.file.NoSuchFileException"
8-
rethrow(e)
9-
end
7+
javaException(e)
108
i = [];
119
end
1210
end

+stdlib/+java/inode.m

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@
1313
try
1414
i = java.nio.file.Files.getAttribute(javaAbsolutePath(file), "unix:ino", opt);
1515
catch e
16-
if class(e.ExceptionObject) ~= "java.nio.file.NoSuchFileException"
17-
rethrow(e)
18-
end
16+
javaException(e)
1917
end
2018

2119
i = uint64(i);
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
function javaException(e)
2+
3+
switch class(e.ExceptionObject)
4+
case {'java.nio.file.NoSuchFileException', 'java.nio.file.NotLinkException'}
5+
otherwise, rethrow(e)
6+
end
7+
8+
end

+stdlib/+java/read_symlink.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
% https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/file/Files.html#readSymbolicLink(java.nio.file.Path)
99
try
1010
r = string(java.nio.file.Files.readSymbolicLink(javaAbsolutePath(file)));
11-
catch
11+
catch e
12+
javaException(e)
1213
r = "";
1314
end
1415

+stdlib/+python/filesystem_type.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
end
2121
end
2222
catch e
23-
rethrow(e)
23+
pythonException(e)
2424
end
2525

2626
end

0 commit comments

Comments
 (0)