Connecting Tech Pros Worldwide Help | Site Map

expection handing: error message "undefined symbol try . . "

 
LinkBack Thread Tools Search this Thread
  #1  
Old January 7th, 2009, 03:01 AM
Newbie
 
Join Date: Jan 2009
Posts: 4
Default expection handing: error message "undefined symbol try . . "

how to work with expection handing in which when i am using try block then the error message coming that "undefined symbol try" why it is so, please solve my problem.
Reply
  #2  
Old January 7th, 2009, 04:48 AM
gpraghuram's Avatar
Expert
 
Join Date: Mar 2007
Location: Chennai
Age: 30
Posts: 1,247
Default

Can you post the piece of code where u are getting the error?
Also which compiler u are using?

Raghu
Reply
  #3  
Old January 7th, 2009, 05:35 AM
Newbie
 
Join Date: Jan 2009
Posts: 4
Default c++

Expand|Select|Wrap|Line Numbers
  1.  
  2. //Compile is turbo c++
  3.  
  4.  
  5. #include<iostream.h>
  6. #include<stdio.h>
  7. #include<conio.h>
  8. void main()
  9. {
  10. clrscr();
  11. int a,b;
  12. cout<<"Enter value of a and b\n";
  13. cin>>a>>b;
  14. int x=a-b;
  15. try
  16. {
  17. if(x!=0)
  18. {
  19. cout<<"Result(a/x)="<<a/x<<endl;
  20. }
  21. else
  22. {
  23. throw(x);
  24. }
  25. }
  26. catch(int i)
  27. {
  28. cout<<"Exption caughg:x="<<x<<endl;
  29. }
  30. cout<<"End";
  31. getch();
  32. }
  33.  
Reply
  #4  
Old January 7th, 2009, 06:32 AM
Administrator
 
Join Date: Sep 2006
Posts: 11,941
Default

Are you compiling as c or c++?
Is that the only error message you are getting?
Reply
  #5  
Old January 7th, 2009, 08:33 AM
Newbie
 
Join Date: Jan 2009
Posts: 4
Default

then what I should do and how can i run my programme
Reply
  #6  
Old January 7th, 2009, 09:22 AM
Banfa's Avatar
AdministratorVoR
 
Join Date: Feb 2006
Location: South West UK
Posts: 5,731
Default

You should start by re-writing void main() as int main(). Main returns an int, always, anything else is undefined behaviour.
Reply
  #7  
Old January 7th, 2009, 09:31 AM
Administrator
 
Join Date: Sep 2006
Posts: 11,941
Default

Quote:
Originally Posted by arvindkuk View Post
then what I should do and how can i run my programme
I don't think you started learning C++ by learning exceptions. How did you compile your hello world c++ program?
Reply
  #8  
Old January 7th, 2009, 10:08 AM
Newbie
 
Join Date: Jan 2009
Posts: 4
Default

my problem is "undefined symbol try" how can I handle this
Reply
  #9  
Old January 7th, 2009, 10:47 AM
Administrator
 
Join Date: Sep 2006
Posts: 11,941
Default

Your problem is not being sure which language you are coding in. You want to use try/catch exception handling so you must use c++ not c.
For c++ you need to change these things

1.) replace #include<iostream.h> with #include<iostream>
2.) Remove all other includes
3.) add using namespace std; before the definition of main
4.) Make main return an int not void. void is wrong even in c
5.) Remove lines with clrscr(); and getch(); in your code
6.) Compile the file as a c++ file not as a c source file.
Reply
  #10  
Old January 7th, 2009, 11:13 AM
Banfa's Avatar
AdministratorVoR
 
Join Date: Feb 2006
Location: South West UK
Posts: 5,731
Default

Something obvious that has not been mentioned yet is what is the name of your file?

if it is <something>.c then the compiler will almost certainly be compiling it as C code it needs to be <something>.cpp
Reply
  #11  
Old January 7th, 2009, 03:57 PM
Moderator
 
Join Date: Mar 2007
Location: North Bend Washington USA
Age: 68
Posts: 5,178
Default

Also, keep in mind that exception handling is often turned off in most C++ compilers by default. You have have to enable it by setting a compiler switch.

That would explain your indefined symbol.
Reply
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search


Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,840 network members.