Better error message if loading of program memory fails.

This commit is contained in:
hneemann 2018-07-23 15:11:26 +02:00
parent 399d7c54af
commit 6720b988f2
4 changed files with 19 additions and 7 deletions

View File

@ -24,6 +24,16 @@ public class NodeException extends ExceptionWithOrigin {
private final ImmutableList<ObservableValue> values;
private final int input;
/**
* Creates a new instance.
*
* @param message the message
* @param cause the cause of this exception
*/
public NodeException(String message, Exception cause) {
this(message, null, -1, null, cause);
}
/**
* Creates a new instance.
*

View File

@ -42,14 +42,14 @@ public class RomLoader implements ModelModifier {
roms.add(pr);
}
if (roms.isEmpty())
throw new NodeException(Lang.get("msg_noRomFound"));
throw new NodeException(Lang.get("err_noRomFound"));
if (roms.size() > 1)
throw new NodeException(Lang.get("msg_moreThenOneRomFound"));
throw new NodeException(Lang.get("err_moreThenOneRomFound"));
try {
roms.get(0).setProgramMemory(new DataField(romHex));
} catch (IOException e) {
throw new NodeException(e.getMessage());
throw new NodeException(Lang.get("err_errorLoadingRomData"), e);
}
}
}

View File

@ -934,6 +934,9 @@ Sind evtl. die Namen der Variablen nicht eindeutig?</string>
<string name="err_counterNeedsMoreBits">Der Zähler benötigt mindestens zwei Bits.</string>
<string name="err_clocksNotAllowedInAsyncMode">Taktelemente können im asynchronen Modus nicht verwendet werden.</string>
<string name="err_verilogExporting">Fehler beim Export zu Verilog.</string>
<string name="err_noRomFound">Kein Programmspeicher im Modell gefunden! Ein Programmspeicher muss gewählt werden!</string>
<string name="err_moreThenOneRomFound">Mehr als einen Programmspeicher gefunden. Es darf nur einen Programmspeicher geben.</string>
<string name="err_errorLoadingRomData">Fehler beim Laden des Programmspeichers.</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>
@ -1448,8 +1451,6 @@ eine &lt;a href=&quot;https://github.com/hneemann/[[name]]/issues/new?labels=enh
<string name="msg_pins">Pinbelegung</string>
<string name="msg_pinMap_pin_N_is_N">Pin {0}: {1}</string>
<string name="msg_restartNeeded">Die Änderung der Einstellung erfordert einen Neustart!</string>
<string name="msg_noRomFound">Kein ROM im Modell gefunden! Ein ROM muss als Programmspeicher gewählt werden!</string>
<string name="msg_moreThenOneRomFound">Mehr als einen Programmspeicher gefunden. Es darf nur einen Programmspeicher geben.</string>
<string name="msg_enterAnExpression">Geben Sie einen Ausdruck ein:</string>
<string name="msg_runningTestError">Fehler bei der Ausführung der Tests:</string>
<string name="msg_testResult">Testergebnis</string>

View File

@ -928,6 +928,9 @@
<string name="err_namesAreNotUnique_N">The name "{0}" is not unique!</string>
<string name="err_clocksNotAllowedInAsyncMode">Clock elements can not be used in asynchronous mode.</string>
<string name="err_verilogExporting">Error during export to Verilog.</string>
<string name="err_noRomFound">No program memory found! The program memory needs to be flagged as such.</string>
<string name="err_moreThenOneRomFound">More then one program memories found! Only one program memory must be flages as such.</string>
<string name="err_errorLoadingRomData">Error loading the program memory.</string>
<string name="key_AddrBits">Address Bits</string><!-- ROM, RAMDualPort, RAMSinglePort, RAMSinglePortSel, EEPROM -->
<string name="key_AddrBits_tt">Number of address bits used.</string>
@ -1435,8 +1438,6 @@
<string name="msg_pins">Pin assignment</string>
<string name="msg_pinMap_pin_N_is_N">Pin {0}: {1}</string>
<string name="msg_restartNeeded">A restart is required for the changes to take effect!</string>
<string name="msg_noRomFound">No ROM found! ROM needs to be set to be program memory.</string>
<string name="msg_moreThenOneRomFound">More then one ROM found! Only one ROM must be set to be program memory.</string>
<string name="msg_remoteUnknownCommand">Command {0} unknown!</string>
<string name="msg_enterAnExpression">Enter an expression:</string>
<string name="msg_runningTestError">Error running the tests:</string>