Skip to content

Commit 8f93031

Browse files
committed
Try-catches... try-catches everywhere
1 parent 5d9c518 commit 8f93031

File tree

1 file changed

+43
-26
lines changed

1 file changed

+43
-26
lines changed

common/src/main/kotlin/xyz/bluspring/unitytranslate/translator/LibreTranslateInstance.kt

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ open class LibreTranslateInstance(val url: String, private var weight: Int, val
6666
return try {
6767
batchTranslate(from.code, to.code, texts)
6868
} catch (e: Exception) {
69+
e.printStackTrace()
6970
null
7071
}
7172
}
@@ -121,34 +122,50 @@ open class LibreTranslateInstance(val url: String, private var weight: Int, val
121122

122123
val writer = OutputStreamWriter(httpConn.outputStream, "UTF-8")
123124

124-
writer.write(JsonObject().apply {
125-
addProperty("source", from)
126-
addProperty("target", to)
127-
add("q", JsonArray().apply {
128-
for (s in request) {
129-
this.add(s)
125+
try {
126+
writer.write(JsonObject().apply {
127+
addProperty("source", from)
128+
addProperty("target", to)
129+
add("q", JsonArray().apply {
130+
for (s in request) {
131+
this.add(s)
132+
}
133+
})
134+
135+
if (authKey?.isNotBlank() == true)
136+
addProperty("api_key", authKey)
137+
}.toString())
138+
139+
writer.flush()
140+
writer.close()
141+
httpConn.outputStream.close()
142+
if (httpConn.responseCode / 100 != 2) {
143+
httpConn.disconnect()
144+
throw Exception("Failed to load ${this.url}/translate (code ${httpConn.responseCode})")
145+
} else {
146+
val responseStream = httpConn.inputStream
147+
val s = Scanner(responseStream, "UTF-8").useDelimiter("\\A")
148+
149+
try {
150+
val response = if (s.hasNext()) s.next() else ""
151+
152+
val translated = JsonParser.parseString(response).asJsonObject.get("translatedText").asJsonArray
153+
154+
httpConn.disconnect()
155+
s.close()
156+
return translated.map { it.asString }
157+
} catch (e: Exception) {
158+
httpConn.disconnect()
159+
s.close()
160+
161+
throw e
130162
}
131-
})
132-
133-
if (authKey?.isNotBlank() == true)
134-
addProperty("api_key", authKey)
135-
}.toString())
136-
137-
writer.flush()
138-
writer.close()
139-
httpConn.outputStream.close()
140-
if (httpConn.responseCode / 100 != 2) {
141-
throw Exception("Failed to load ${this.url}/translate (code ${httpConn.responseCode})")
142-
} else {
143-
val responseStream = httpConn.inputStream
144-
val s = Scanner(responseStream, "UTF-8").useDelimiter("\\A")
145-
val response = if (s.hasNext()) s.next() else ""
146-
147-
val translated = JsonParser.parseString(response).asJsonObject.get("translatedText").asJsonArray
148-
163+
}
164+
} catch (e: Exception) {
165+
writer.close()
149166
httpConn.disconnect()
150-
s.close()
151-
return translated.map { it.asString }
167+
168+
throw e
152169
}
153170
}
154171

0 commit comments

Comments
 (0)