Skip to content

Commit ff4c5e9

Browse files
committed
fix: add fix error message in Error thrown by API
Signed-off-by: zongz <[email protected]>
1 parent b9e415b commit ff4c5e9

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

java/src/main/java/com/kcl/api/API.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.io.InputStream;
66
import java.io.UncheckedIOException;
77
import java.util.Map;
8+
import java.nio.charset.StandardCharsets;
89
import java.nio.file.Files;
910
import java.nio.file.StandardCopyOption;
1011

@@ -651,15 +652,17 @@ public GetVersion_Result getVersion(GetVersion_Args args) throws Exception {
651652
private byte[] call(String name, byte[] args) throws Exception {
652653
byte[] result = callNative(name.getBytes(), args);
653654
if (result != null && startsWith(result, ERROR_PREFIX)) {
654-
throw new java.lang.Error(result.toString().substring(ERROR_PREFIX.length()).trim());
655+
String resultString = new String(result, StandardCharsets.UTF_8);
656+
throw new Exception(resultString.substring(ERROR_PREFIX.length()).trim());
655657
}
656658
return result;
657659
}
658660

659661
private byte[] callLoadPackageWithCache(byte[] args) throws Exception {
660662
byte[] result = loadPackageWithCache(args);
661663
if (result != null && startsWith(result, ERROR_PREFIX)) {
662-
throw new java.lang.Error(result.toString().substring(ERROR_PREFIX.length()).trim());
664+
String resultString = new String(result, StandardCharsets.UTF_8);
665+
throw new Exception(resultString.substring(ERROR_PREFIX.length()).trim());
663666
}
664667
return result;
665668
}

java/src/test/java/com/kcl/ExecProgramTest.java

+12
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,16 @@ public void testExecProgramApi() throws Exception {
1919
ExecProgram_Result result = apiInstance.execProgram(args);
2020
Assert.assertEquals(result.getYamlResult(), "app:\n" + " replicas: 2");
2121
}
22+
23+
@Test
24+
public void testExecProgramApiInvalid() {
25+
try {
26+
ExecProgram_Args args = ExecProgram_Args.newBuilder().build();
27+
28+
API apiInstance = new API();
29+
apiInstance.execProgram(args);
30+
} catch (Exception e) {
31+
Assert.assertEquals(e.getMessage(), "No input KCL files or paths");
32+
}
33+
}
2234
}

0 commit comments

Comments
 (0)