Skip to content

Commit beeb795

Browse files
committed
Added exception control and message
1 parent 57ab1a5 commit beeb795

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

src/gui/OutputController.java

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import static javafx.scene.paint.Color.RED;
77

88
import java.io.IOException;
9+
import java.io.PrintWriter;
10+
import java.io.StringWriter;
911
import java.net.URL;
1012
import java.util.ResourceBundle;
1113

@@ -81,17 +83,26 @@ public void initialize(URL location, ResourceBundle resources) {
8183
result.setVisible(false);
8284
input.textProperty().addListener(
8385
(observable, oldValue, newValue)-> {
84-
if (lrParser.accept(input.getText())) {
85-
result.setText("Accepted");
86-
result.setTextFill(GREEN);
87-
result.setVisible(true);
86+
try {
87+
if (lrParser.accept(input.getText())) {
88+
result.setText("Accepted");
89+
result.setTextFill(GREEN);
90+
result.setVisible(true);
91+
}
92+
else {
93+
result.setText("Rejected");
94+
result.setTextFill(RED);
95+
result.setVisible(true);
96+
}
97+
output.setText("\n" + lrParser.getLog());
8898
}
89-
else {
90-
result.setText("Rejected");
91-
result.setTextFill(RED);
92-
result.setVisible(true);
99+
catch (Throwable t) {
100+
//output.setText("\n" + lrParser.getLog() + "\n" + t);
101+
var sw = new StringWriter();
102+
t.printStackTrace(new PrintWriter(sw));
103+
output.setText("\n" + lrParser.getLog() + "\n" + sw.toString());
104+
throw t;
93105
}
94-
output.setText("\n" + lrParser.getLog());
95106
}
96107
);
97108
output.setText("\n" + lrParser.getGrammar());

0 commit comments

Comments
 (0)