diff options
author | wm4 <wm4@nowhere> | 2015-01-01 22:56:57 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-01-01 22:56:57 +0100 |
commit | 9aa1d711479d4892e7f3c528dd48aad91f8a63de (patch) | |
tree | acbbbf0bb13327c228e308f41257be5dfbfb85f7 /DOCS | |
parent | 0e9d19cd052e8d1086f4588d8e2d6ab4c1bb4ee8 (diff) |
DOCS/client_api_examples: don't throw char* in C++ code
C++ is the worst language ever, and allows throwing any type, even if it
doesn't make sense. In this case, we were throwing char*, which the
runtime typically treats as opaque, instead of printing it as message if
such an exception was not caught.
Diffstat (limited to 'DOCS')
-rw-r--r-- | DOCS/client_api_examples/qml/mpvrenderer.cpp | 10 | ||||
-rw-r--r-- | DOCS/client_api_examples/qtexample.cpp | 5 |
2 files changed, 9 insertions, 6 deletions
diff --git a/DOCS/client_api_examples/qml/mpvrenderer.cpp b/DOCS/client_api_examples/qml/mpvrenderer.cpp index 6d214dfba8..0f6b6ba9f9 100644 --- a/DOCS/client_api_examples/qml/mpvrenderer.cpp +++ b/DOCS/client_api_examples/qml/mpvrenderer.cpp @@ -1,5 +1,7 @@ #include "mpvrenderer.h" +#include <stdexcept> + #include <QObject> #include <QtGlobal> #include <QOpenGLContext> @@ -27,7 +29,7 @@ public: { int r = mpv_opengl_cb_init_gl(mpv_gl, NULL, get_proc_address, NULL); if (r < 0) - throw "could not initialize OpenGL"; + throw std::runtime_error("could not initialize OpenGL"); } virtual ~MpvRenderer() @@ -53,13 +55,13 @@ MpvObject::MpvObject(QQuickItem * parent) { mpv = mpv::qt::Handle::FromRawHandle(mpv_create()); if (!mpv) - throw "could not create mpv context"; + throw std::runtime_error("could not create mpv context"); mpv_set_option_string(mpv, "terminal", "yes"); mpv_set_option_string(mpv, "msg-level", "all=v"); if (mpv_initialize(mpv) < 0) - throw "could not initialize mpv context"; + throw std::runtime_error("could not initialize mpv context"); // Make use of the MPV_SUB_API_OPENGL_CB API. mpv::qt::set_option_variant(mpv, "vo", "opengl-cb"); @@ -72,7 +74,7 @@ MpvObject::MpvObject(QQuickItem * parent) // doUpdate() function is run on the GUI thread. mpv_gl = (mpv_opengl_cb_context *)mpv_get_sub_api(mpv, MPV_SUB_API_OPENGL_CB); if (!mpv_gl) - throw "OpenGL not compiled in"; + throw std::runtime_error("OpenGL not compiled in"); mpv_opengl_cb_set_update_callback(mpv_gl, MpvObject::on_update, (void *)this); connect(this, &MpvObject::onUpdate, this, &MpvObject::doUpdate, Qt::QueuedConnection); diff --git a/DOCS/client_api_examples/qtexample.cpp b/DOCS/client_api_examples/qtexample.cpp index 2b8bc15533..756c206916 100644 --- a/DOCS/client_api_examples/qtexample.cpp +++ b/DOCS/client_api_examples/qtexample.cpp @@ -2,6 +2,7 @@ #include <clocale> #include <sstream> +#include <stdexcept> #include <QtGlobal> #include <QFileDialog> @@ -55,7 +56,7 @@ MainWindow::MainWindow(QWidget *parent) : mpv = mpv_create(); if (!mpv) - throw "can't create mpv instance"; + throw std::runtime_error("can't create mpv instance"); // Create a video child window. Force Qt to create a native window, and // pass the window ID to the mpv wid option. Works on: X11, win32, Cocoa @@ -94,7 +95,7 @@ MainWindow::MainWindow(QWidget *parent) : mpv_set_wakeup_callback(mpv, wakeup, this); if (mpv_initialize(mpv) < 0) - throw "mpv failed to initialize"; + throw std::runtime_error("mpv failed to initialize"); } void MainWindow::handle_mpv_event(mpv_event *event) |