Commit ccf0f7b4 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

catch all conversion errors

parent ab219a13
Loading
Loading
Loading
Loading
+18 −2
Original line number Diff line number Diff line
@@ -241,9 +241,25 @@ void AreaChart3D<TX, TY, TZ>::addSeries(Series3D<TX, TY, TZ>* series) {
  area.series = series->name();
  area.color = series->getProperty(Series::P_COLOR);
  area.line_style = series->getProperty(Series::P_LINE_STYLE);
  area.line_width = std::stod(series->getProperty(Series::P_LINE_WIDTH));
  area.point_style = series->getProperty(Series::P_POINT_STYLE);

  try {
    area.line_width = std::stod(series->getProperty(Series::P_LINE_WIDTH));
  } catch (const std::exception& e) {
    RAISE(
        util::RuntimeException,
        "invalid line width: %s",
        series->getProperty(Series::P_LINE_WIDTH).c_str());
  }

  try {
    area.point_size = std::stod(series->getProperty(Series::P_POINT_SIZE));
  } catch (const std::exception& e) {
    RAISE(
        util::RuntimeException,
        "invalid point size: %s",
        series->getProperty(Series::P_POINT_SIZE).c_str());
  }

  for (const auto& point : series->getData()) {
    x_domain->addValue(point.x());
+21 −3
Original line number Diff line number Diff line
@@ -205,11 +205,29 @@ void LineChart2D<TX, TY>::render(
  for (const auto& series : series_) {
    std::vector<std::pair<double, double>> coords;

    // FIXPAUL catch conversion excpetion
    auto point_style = series->getProperty(Series::P_POINT_STYLE);
    auto point_size = std::stod(series->getProperty(Series::P_POINT_SIZE));
    double point_size;
    auto line_style = series->getProperty(Series::P_LINE_STYLE);
    auto line_width = std::stod(series->getProperty(Series::P_LINE_WIDTH));
    double line_width;

    try {
      line_width = std::stod(series->getProperty(Series::P_LINE_WIDTH));
    } catch (const std::exception& e) {
      RAISE(
          util::RuntimeException,
          "invalid line width: %s",
          series->getProperty(Series::P_LINE_WIDTH).c_str());
    }

    try {
      point_size = std::stod(series->getProperty(Series::P_POINT_SIZE));
    } catch (const std::exception& e) {
      RAISE(
          util::RuntimeException,
          "invalid point size: %s",
          series->getProperty(Series::P_POINT_SIZE).c_str());
    }

    auto color = series->getProperty(Series::P_COLOR);

    for (const auto& point : series->getData()) {
+10 −3
Original line number Diff line number Diff line
@@ -336,9 +336,16 @@ void PointChart2D<TX, TY>::addSeries(Series2D<TX, TY>* series) {

  // FIXPAUL copy point style
  for (const auto& point : series->getData()) {
    // FIXPAUL catch converison errror
    double point_size = std::stod(
    double point_size;
    try {
      point_size = std::stod(
          series->getProperty(Series::P_POINT_SIZE, &point));
    } catch (const std::exception& e) {
      RAISE(
          util::RuntimeException,
          "invalid point size: %s",
          series->getProperty(Series::P_POINT_SIZE, &point).c_str());
    }

    series3d->addDatum(
        Series::Coord<TX>(point.x()),