diff --git a/src/main/java/de/neemann/digital/core/element/ElementTypeDescription.java b/src/main/java/de/neemann/digital/core/element/ElementTypeDescription.java index 852cf108d..e99517d0e 100644 --- a/src/main/java/de/neemann/digital/core/element/ElementTypeDescription.java +++ b/src/main/java/de/neemann/digital/core/element/ElementTypeDescription.java @@ -46,7 +46,7 @@ public class ElementTypeDescription { Constructor constructor = clazz.getConstructor(ElementAttributes.class); return (Element) constructor.newInstance(attributes); } catch (Exception e) { - throw new RuntimeException(e); + throw new RuntimeException(Lang.get("err_couldNotCreateElement_N", name), e); } }, inputPins); } diff --git a/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java b/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java index 41a3af260..aa5a67234 100644 --- a/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java +++ b/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java @@ -48,11 +48,13 @@ public class MissingShape implements Shape { Throwable c = cause; int y = 4; while (c != null) { - y += style.getFontSize(); String message = c.getMessage(); - if (message != null && message.length() > 100) - message = message.substring(0, 100) + "..."; - graphic.drawText(new Vector(4, y), new Vector(5, y), message, Orientation.LEFTTOP, style); + if (message != null && message.length() > 0) { + if (message.length() > 100) + message = message.substring(0, 100) + "..."; + y += style.getFontSize(); + graphic.drawText(new Vector(4, y), new Vector(5, y), message, Orientation.LEFTTOP, style); + } c = c.getCause(); } } diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index 66d470e63..b52620f63 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -748,7 +748,7 @@ Zur Analyse können Sie die Schaltung im Gatterschrittmodus ausführen. Kann den Remote Port nicht öffnen! Läuft schon eine andere Instanz? Die Zahl der Eingänge passt nicht zur Bitbreite der Auswahlleitung. - Fehler in der Definition {0} eines Splitters + Fehler in der Portdefinition "{0}" eines Splitters Die Bitzahl am Spiltter passt nicht Es sind nicht alle Eingangsbits definiert! Es sind Eingangsbits mehrfach definiert! @@ -835,6 +835,7 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Zyklen entstehen, wenn ein Ausgang eines Gatters auf einen der Eingänge des selben Gatters zurück geführt wird. Die Verwendung von Schaltern, FETs oder Relais verursacht ebenfalls Zyklen. Wird ein Monoflop verwendet, muss es genau ein Taktelement geben! + Konnte kein Element vom Typ "{0}" erzeugen! Adress-Bits Anzahl der Adress-Bits, die verwendet werden. diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index 31271674b..f10861d1d 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -830,6 +830,7 @@ The names of the variables may not be unique. Cycles arise if an output of a gate is fed back to one of the inputs of the same gate. The use of switches, FETs or relays also causes cycles. If a monoflop is used, there must be exactly one clock component! + Could not create a component of type {0}! Address Bits Number of address bits used.