help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

octace + exceptions


From: Kai Habel
Subject: octace + exceptions
Date: Wed, 23 Feb 2000 20:49:08 +0100

Hello,

Is it possible to use exception handling in octave. I am trying to use
it an oct-file. sth. like

try {
        ...
} catch (...) {
        cout << "exception cought"
}

When I trigger an exception, octave dies with the following backtrace.

Program received signal SIGABRT, Aborted.
0x4073fc11 in __kill () from /lib/libc.so.6
Current language:  auto; currently c
(gdb) bt
#0  0x4073fc11 in __kill () from /lib/libc.so.6
#1  0x4073f81f in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2  0x40741053 in abort () at ../sysdeps/generic/abort.c:88
#3  0x4070c3f5 in __default_terminate () from
/usr/lib/libstdc++-libc6.1-1.so.2
#4  0x4070c41a in __terminate () from /usr/lib/libstdc++-libc6.1-1.so.2
#5  0x4070ce5c in __throw () from /usr/lib/libstdc++-libc6.1-1.so.2
#6  0x805fe95 in main (argc=1, argv=0xbffff574) at octave.cc:590  

I compiled octave and the oct-file with -fexception instead of
-fno-exception.

I am new to this c++ feature. Is it possible to use exception handling
at all in octave? Do I have to set other compiler options?

Thanks in advance
Kai


Configuration (please do not edit this section):
-----------------------------------------------

uname output:     Linux enterprise 2.2.14 #2 Die Jan 4 22:14:53 CET 2000
i586 unknown
configure opts:   %config_opts%
Fortran compiler: g77
FFLAGS:           -O
F2C:              
F2CFLAGS:         
FLIBS:            -lg2c -lm -L/usr/lib/gcc-lib/i486-linux/egcs-2.91.66
-L/usr/i486-linux/lib -lm
CPPFLAGS:         
INCFLAGS:         -I. -I. -I./liboctave -I./src -I./libcruft/misc 
-I./glob -I./glob
C compiler:       gcc, version 2.91.66 19990314/Linux (egcs-1.1.2
release)
CFLAGS:           -g -O2 -Wall
CPICFLAG:         -fPIC
C++ compiler:     c++, version 2.91.66 19990314/Linux (egcs-1.1.2
release)
CXXFLAGS:         %OCTAVE_CONF_BUG_CXXFLAGS%
CXXPICFLAG:       -fPIC
LDFLAGS:          -g
LIBFLAGS:         -L.
RLD_FLAG:         -Xlinker -rpath -Xlinker /usr/local/lib/octave-2.1.28
TERMLIBS:         -lncurses
LIBS:             
LEXLIB:           
LIBPLPLOT:        
LIBDLFCN:         
LIBGLOB:          ./glob/libglob.a
DEFS:

  -DOCTAVE_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=":" -DUSE_READLINE=1
  -DBOUNDS_CHECKING=1 -D__NO_MATH_INLINES=1
-DCXX_NEW_FRIEND_TEMPLATE_DECL=1
  -DHAVE_LIBM=1 -DF77_APPEND_UNDERSCORE=1 -DOCTAVE_LITE=1
-DSIZEOF_SHORT=2
  -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1
  -DNPOS=std::string::npos -DSTDC_HEADERS=1 -DHAVE_DIRENT_H=1
  -DTIME_WITH_SYS_TIME=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_ASSERT_H=1
  -DHAVE_CURSES_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FCNTL_H=1 -DHAVE_FLOAT_H=1
  -DHAVE_FNMATCH_H=1 -DHAVE_GLOB_H=1 -DHAVE_GRP_H=1 -DHAVE_LIMITS_H=1
  -DHAVE_MEMORY_H=1 -DHAVE_NCURSES_H=1 -DHAVE_POLL_H=1 -DHAVE_PWD_H=1
  -DHAVE_SGTTY_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_SYS_IOCTL_H=1
  -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_POLL_H=1 -DHAVE_SYS_RESOURCE_H=1
  -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TIME_H=1
  -DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_UTSNAME_H=1
  -DHAVE_TERMCAP_H=1 -DHAVE_TERMIO_H=1 -DHAVE_UNISTD_H=1
  -DHAVE_VARARGS_H=1 -DHAVE_ATEXIT=1 -DHAVE_BCOPY=1 -DHAVE_BZERO=1
  -DHAVE_DUP2=1 -DHAVE_ENDGRENT=1 -DHAVE_ENDPWENT=1 -DHAVE_EXECVP=1
  -DHAVE_FCNTL=1 -DHAVE_FORK=1 -DHAVE_GETCWD=1 -DHAVE_GETEGID=1
  -DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETGRENT=1 -DHAVE_GETGRGID=1
  -DHAVE_GETGRNAM=1 -DHAVE_GETHOSTNAME=1 -DHAVE_GETPGRP=1
-DHAVE_GETPID=1
  -DHAVE_GETPPID=1 -DHAVE_GETPWENT=1 -DHAVE_GETPWNAM=1 -DHAVE_GETPWUID=1
  -DHAVE_GETTIMEOFDAY=1 -DHAVE_GETUID=1 -DHAVE_GETWD=1
-DHAVE_LOCALTIME_R=1
  -DHAVE_LSTAT=1 -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1
  -DHAVE_ON_EXIT=1 -DHAVE_PIPE=1 -DHAVE_POLL=1 -DHAVE_PUTENV=1
  -DHAVE_RENAME=1 -DHAVE_RINDEX=1 -DHAVE_RMDIR=1 -DHAVE_SELECT=1
  -DHAVE_SETGRENT=1 -DHAVE_SETPWENT=1 -DHAVE_SETVBUF=1
-DHAVE_SIGACTION=1
  -DHAVE_SIGPENDING=1 -DHAVE_SIGPROCMASK=1 -DHAVE_SIGSUSPEND=1
-DHAVE_STAT=1
  -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1
-DHAVE_STRFTIME=1
  -DHAVE_STRNCASECMP=1 -DHAVE_STRPTIME=1 -DHAVE_TEMPNAM=1 -DHAVE_UMASK=1
  -DHAVE_UNLINK=1 -DHAVE_USLEEP=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1
  -DHAVE_WAITPID=1 -DHAVE_LIBDL=1 -DHAVE_DLOPEN=1 -DHAVE_DLSYM=1
  -DHAVE_DLERROR=1 -DHAVE_DLCLOSE=1 -DWITH_DL=1 -DWITH_DYNAMIC_LINKING=1
  -DHAVE_TIMEVAL=1 -DHAVE_FINITE=1 -DHAVE_ISNAN=1 -DHAVE_ISINF=1
  -DHAVE_ACOSH=1 -DHAVE_ASINH=1 -DHAVE_ATANH=1 -DHAVE_ERF=1
-DHAVE_ERFC=1
  -DHAVE_ST_BLKSIZE=1 -DHAVE_ST_BLOCKS=1 -DHAVE_ST_RDEV=1
-DHAVE_TM_ZONE=1
  -DHAVE_GR_PASSWD=1 -DEXCEPTION_IN_MATH=1 -DRETSIGTYPE=void
  -DSYS_SIGLIST_DECLARED=1 -DHAVE_SYS_SIGLIST=1 -DHAVE_POSIX_SIGNALS=1
  -DHAVE_GETRUSAGE=1 -DHAVE_TIMES=1
 
-- 
Kai Habel
mailto:address@hidden



-----------------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.che.wisc.edu/octave/octave.html
How to fund new projects:  http://www.che.wisc.edu/octave/funding.html
Subscription information:  http://www.che.wisc.edu/octave/archive.html
-----------------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]