aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/terminal/terminaldisplayinit.cc
diff options
context:
space:
mode:
authorGravatar Geoffrey Thomas <geofft@ldpreload.com>2013-08-03 17:23:06 -0700
committerGravatar John Hood <cgull@glup.org>2015-06-04 23:47:32 -0400
commitb5ac92491c1b40bb40f71c6ca629b2347fbdd9ef (patch)
treec3322b5403ff1fe9a9508408f0c776ba3d5da3a0 /src/terminal/terminaldisplayinit.cc
parentaeffb71cfc45a937d52f876daf535434c2063542 (diff)
Throw std::exception subclasses instead of std::strings
Now everything we throw or catch ourselves is a subclass of std::exception.
Diffstat (limited to 'src/terminal/terminaldisplayinit.cc')
-rw-r--r--src/terminal/terminaldisplayinit.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/terminal/terminaldisplayinit.cc b/src/terminal/terminaldisplayinit.cc
index 80ba467..6a0886e 100644
--- a/src/terminal/terminaldisplayinit.cc
+++ b/src/terminal/terminaldisplayinit.cc
@@ -37,6 +37,7 @@
#include "terminaldisplay.h"
#include <string>
+#include <stdexcept>
#if defined HAVE_NCURSESW_CURSES_H
# include <ncursesw/curses.h>
@@ -65,7 +66,7 @@ bool Display::ti_flag( const char *capname ) const
{
int val = tigetflag( const_cast<char *>( capname ) );
if ( val == -1 ) {
- throw std::string( "Invalid terminfo boolean capability " ) + capname;
+ throw std::invalid_argument( std::string( "Invalid terminfo boolean capability " ) + capname );
}
return val;
}
@@ -74,7 +75,7 @@ int Display::ti_num( const char *capname ) const
{
int val = tigetnum( const_cast<char *>( capname ) );
if ( val == -2 ) {
- throw std::string( "Invalid terminfo numeric capability " ) + capname;
+ throw std::invalid_argument( std::string( "Invalid terminfo numeric capability " ) + capname );
}
return val;
}
@@ -83,7 +84,7 @@ const char *Display::ti_str( const char *capname ) const
{
const char *val = tigetstr( const_cast<char *>( capname ) );
if ( val == (const char *)-1 ) {
- throw std::string( "Invalid terminfo string capability " ) + capname;
+ throw std::invalid_argument( std::string( "Invalid terminfo string capability " ) + capname );
}
return val;
}
@@ -98,16 +99,16 @@ Display::Display( bool use_environment )
if ( ret != OK ) {
switch ( errret ) {
case 1:
- throw std::string( "Terminal is hardcopy and cannot be used by curses applications." );
+ throw std::runtime_error( "Terminal is hardcopy and cannot be used by curses applications." );
break;
case 0:
- throw std::string( "Unknown terminal type." );
+ throw std::runtime_error( "Unknown terminal type." );
break;
case -1:
- throw std::string( "Terminfo database could not be found." );
+ throw std::runtime_error( "Terminfo database could not be found." );
break;
default:
- throw std::string( "Unknown terminfo error." );
+ throw std::runtime_error( "Unknown terminfo error." );
break;
}
}