improved error messages

This commit is contained in:
hneemann 2018-03-07 16:51:36 +01:00
parent 11ded0ca3b
commit 22901c4887
3 changed files with 17 additions and 6 deletions

View File

@ -8,6 +8,7 @@ package de.neemann.digital.core.extern.handler;
import de.neemann.digital.core.ObservableValue;
import de.neemann.digital.core.ObservableValues;
import de.neemann.digital.core.extern.ProcessHandler;
import de.neemann.digital.lang.Lang;
import java.io.*;
@ -85,7 +86,7 @@ public class StdIOProcess implements ProcessHandler {
lock.wait(1000);
if (dataFound == null)
throw new IOException("timeout");
throw new IOException(Lang.get("err_timeoutReadingData"));
String line = dataFound;
dataFound = null;
@ -131,7 +132,7 @@ public class StdIOProcess implements ProcessHandler {
final int bits = v.getBits();
if (pos + bits > len)
throw new IOException("not enough data");
throw new IOException(Lang.get("err_notEnoughDataReceived"));
long value = 0;
long highZ = 0;
@ -153,7 +154,7 @@ public class StdIOProcess implements ProcessHandler {
case '0':
break;
default:
throw new IOException("invalid character " + c);
throw new IOException(Lang.get("err_invalidCharacterReceived_N", "" + c));
}
mask <<= 1;
pos++;
@ -161,7 +162,7 @@ public class StdIOProcess implements ProcessHandler {
v.set(value, highZ);
}
} else
throw new IOException("process has stopped");
throw new IOException(Lang.get("err_processTerminatedUnexpected"));
}
@Override
@ -173,10 +174,10 @@ public class StdIOProcess implements ProcessHandler {
try {
thread.join(1000);
} catch (InterruptedException e) {
throw new IOException("thread was interrupted");
// its ok, I just want to terminate the process!
}
if (thread.isAlive())
throw new IOException("thread was not stopped");
throw new IOException(Lang.get("err_couldNotTerminateProcess"));
}
}

View File

@ -844,6 +844,11 @@ Sind evtl. die Namen der Variablen nicht eindeutig?</string>
<string name="err_errorWritingDataToProcess">Es konnten keine Werte an den externen Prozess übergeben werden!</string>
<string name="err_errorReadingDataToProcess">Es konnten keine Werte vom externen Prozess gelesen werden!</string>
<string name="err_errorCreatingProcess">Der externe Prozess konnte nicht gestartet werden!</string>
<string name="err_timeoutReadingData">Zeitüberschreitung beim Lesen von Daten!</string>
<string name="err_notEnoughDataReceived">Es wurden nicht genug Daten empfangen!</string>
<string name="err_invalidCharacterReceived_N">Der empfangene Text enthielt ein ungültiges Zeichen: {0}!</string>
<string name="err_processTerminatedUnexpected">Der Prozess wurde unerwartet beendet!</string>
<string name="err_couldNotTerminateProcess">Der Prozess konnte nicht beendet werden!</string>
<string name="key_AddrBits">Adress-Bits</string><!-- ROM, RAMDualPort, RAMSinglePort, RAMSinglePortSel, EEPROM -->
<string name="key_AddrBits_tt">Anzahl der Adress-Bits, die verwendet werden.</string>

View File

@ -839,6 +839,11 @@ The names of the variables may not be unique.</string>
<string name="err_errorWritingDataToProcess">Could not write values to the external process!</string>
<string name="err_errorReadingDataToProcess">Could not write values from the external process!</string>
<string name="err_errorCreatingProcess">Could not create the external process!</string>
<string name="err_timeoutReadingData">Timeout reading data from external process!</string>
<string name="err_notEnoughDataReceived">Not enough data received!</string>
<string name="err_invalidCharacterReceived_N">The received text contains an invalid character: {0}!</string>
<string name="err_processTerminatedUnexpected">The process has terminated unexpected!</string>
<string name="err_couldNotTerminateProcess">Could not terminate the process!</string>
<string name="key_AddrBits">Address Bits</string><!-- ROM, RAMDualPort, RAMSinglePort, RAMSinglePortSel, EEPROM -->
<string name="key_AddrBits_tt">Number of address bits used.</string>