> Is there a way to allow C++ code to throw in a thread? I compiled the
> following code as follows and it aborts due to the throw.
>
> bash-2.05$ throwtest
> throwing check
> Aborted
>
> Regards,
>
> Ed
>
> g++ -g throwtest.cpp -othrowtest -lpthread
>
>
>
>
> #define _GNU_SOURCE
> #define _REENTRANT
> #define MAX 5
> #include <iostream>
> #include <cstdio>
> #include <cstdlib>
> #include <pthread.h>
> #include <unistd.h>
> using namespace std;
>
> void * throwit(void *);
>
> int main(int argc, char *argv[]) {
> pthread_t t;
> int i;
> int status;
>
> try
> {
> if( pthread_create(&t,NULL,throwit,(void *)i) != 0) {
> cerr << "pthread_create failed" << endl;
> return 1;
> }
> pthread_join(t, (void **)&status);
> cout << "end of thread " << endl;
> }
> catch(...)
> {
> cout << "unexpected exception" << endl;
> }
> }
>
> void * throwit(void * t_id) {
> int i;
> float f = 4.0;
> for (i=0;i<MAX; i++) {
> sleep(1);
> try {
> cout<<"throwing check"<<endl;
> throw "check";
> }
> catch(char * st) {
> cout << "throwit caught" << st << endl;
> }
> }
> return 0;
> }
>
***********************
This message is intended only for the personal and confidential use of the
designated recipients named above. If you are not the intended recipient of
this message you are hereby notified that any review, dissemination,
distribution or copying of this message is strictly prohibited. This
communication is for information purposes only and should not be regarded as an
offer to sell or as a solicitation to buy any financial product or service, or
as an official confirmation of any transaction, or as an official statement of
Moneyline Telerate. Email transmission cannot be guaranteed to be secure or
error-free. Therefore, we do not represent that this information is complete
or accurate and it should not be relied upon as such. All information is
subject to change without notice.