示例#1
0
        private void CreateDiagramBtn_Click(object sender, RoutedEventArgs e)
        {
            var starter = new DiagramCreator(_chosenLang);

            try
            {
                var filePathToSave     = searchSaveFilderTextBox.Text;
                var codeToBuildDiagram = codeContentTextBox.Text;
                var creationProps      = new DiagramCreateProps(codeToBuildDiagram, filePathToSave,
                                                                closeAfterBuildCheckBox.IsChecked != null && (bool)closeAfterBuildCheckBox.IsChecked);
                var finalDiagramFilePath = starter.CreateDiagram(creationProps);
                ShowInfoMessage("Диаграмма сохранена!", $"Путь до диаграммы - {finalDiagramFilePath}");
            }
            catch (LexException exception)
            {
                var logFilepath = ExceptionLogger.LogException(exception, codeContentTextBox.Text);
                ShowDiagramCreateErrorMessage(logFilepath, $"Не удалось распознать токен - '{exception.ErrorToken}'" +
                                              $"\nНомер строки, в кторой возникла ошибка - {exception.ErrorLineNumber}");
            }
            catch (ParseException exception)
            {
                var logFilepath = ExceptionLogger.LogParseException(exception, codeContentTextBox.Text);
                ShowDiagramCreateErrorMessage(logFilepath, $"Ошибка парсинга для узла {exception.ParsedNodeType}!" +
                                              $"\nНомер строки, в кторой возникла ошибка - {exception.ErrorLineNumber}");
            }
            catch (Exception exception)
            {
                var logFilepath = ExceptionLogger.LogException(exception, codeContentTextBox.Text);
                ShowDiagramCreateErrorMessage(logFilepath);
            }
        }
示例#2
0
        private void CreateDiagramBtn_Click(object sender, RoutedEventArgs e)
        {
            var starter = new DiagramCreator(chosenLang);

            try
            {
                var filePathToSave       = searchSaveFilderTextBox.Text;
                var codeToBuildDiagram   = codeContentTextBox.Text;
                var finalDiagramFilePath = starter.CreateDiagram(codeToBuildDiagram, filePathToSave,
                                                                 (bool)closeAfterBuildCheckBox.IsChecked);
                ShowInfoMessage("Диаграмма сохранена!", $"Путь до диаграммы - {finalDiagramFilePath}");
            }
            catch (Exception exception)
            {
                var logFilepath = ExceptionLogger.LogException(exception, codeContentTextBox.Text);
                ShowErrorMessage("Не удалось создать диаграмму", $"Ошибка построения диаграммы! {exception.Message}", logFilepath);
            }
            // catch (Exception exception)
            // {
            //     var logFilepath = ExceptionLogger.LogException(exception, codeContentTextBox.Text);
            //     ShowErrorMessage("Не удалось создать диаграмму", $"Ошибка построения диаграммы!", logFilepath);
            // }
        }