• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 15:54
CET 21:54
KST 05:54
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL22] Finals Preview: Sweet Victory!12[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
Weekly Cups (Oct 26 - Nov 1): MaxPax, herO, Solar win0Weekly Cups (October 19-25): Clem triples first in 5.0.175Evil Geniuses - shutting down23ISSL (IntoTheTV x SOOP SC2 League): Premier7Weekly Cups (October 12-18): 5.0.17 era begins1
StarCraft 2
General
No more SC2 streamers on team liquid? StarCraft open world shooter announced at BlizzCon [D] Hacker peak in sc2 ? Liquibets sc2 season 30 Evil Geniuses - shutting down
Tourneys
SC4ALL: II Venue Change Announcement! Sparkling Tuna Cup - Weekly Open Tournament WardiTV Mondays ISSL (IntoTheTV x SOOP SC2 League): Premier Stellar Fest TWO the Moon (Dec 16-20)
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[G] How to playtest arcade maps Starcraft 2 Advance [D] the control group Simple Questions/Answers
External Content
Mutation # 551 Robotic Revival Mutation # 550 Graveyard Shift The PondCast: SC2 News & Results Mutation # 549 Endless Sparkles
Brood War
General
List of top players active on ShieldBattery Rollback Netcode in Brood War Sagi.gg Launcher Released BW General Discussion [Megathread] Daily Funny Videos
Tourneys
[Megathread] Daily Proleagues [$1250] International ShieldBattery League Small VOD Thread 2.0 KCM Race Survival 2026 Season 4
Strategy
50,000-Word Terran Builds Memo 2026-10-22 Cliff Jump Revisited (1 in a 1000 strategy) Simple Questions, Simple Answers
Other Games
General Games
Nintendo Switch Thread Path of Exile Stormgate/Frost Giant Megathread Stratus: Battle for the sky now on steam Early acc Deus Ex 3!?
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread Trading/Investing Thread Dating: How's your luck?
Fan Clubs
Fan Club Resource Thread Reynor Fan Club The Flash Fan Club
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
Playlenda
Playlendapro
Why I built Repalyzer (1.1.…
BlueStar
Innovate or Game Over?
TrAiDoS
ShieldBattery on Mac
Kraekkling
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Can Bots Beat Pros?? Starcr…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 8326 users

Homework thread

Forum Index > Closed
Post a Reply
1 2 3 4 5 Next All
HeavOnEarth
Profile Blog Joined March 2008
United States7087 Posts
Last Edited: 2009-05-28 00:29:46
May 28 2009 00:28 GMT
#1
Java: Exception Handling + Process Endin's.

1) I'm just having trouble figuring out what's wrong.

2 *If a mod closes this... just ban me from site , christ.
I seriously remember helping people with "homework" countless times - and this isn't even that. This, SHOULD be working, actually, but it isn't.


I have this simple program, with three classes; Starter contains the main, which does nothing but initialize the UserInput class. Inside the UserInput class is where I'm having the problem. Basically, where it throws the exception, it is ending the process, despite catching it. How would I modify this so that the exception gets handled, and the process continues?
public class Starter{

public static void main(String[] args){

UserInput ui = new UserInput();

}
}

And:

public class StringTooLongException extends Exception{

public StringTooLongException(){
}

public String getMessage(){
return "String has more than the max allowed characters.";
}

}

And:

import java.util.Scanner;

public class UserInput{

public UserInput(){

try{
String done = "DONE";
System.out.println("Type a string. Max 20 characters.");
System.out.println("Type DONE, in all caps to end.");
Scanner scan = new Scanner(System.in);
String s = scan.next();
while(s.compareTo(done) != 0){
if(s.length() > 20){
/**
* Here is the problem, it is ending the process,
* when it is obviously catching the exception.
*/
throw new StringTooLongException();
}
System.out.println(s);
s = scan.next();
}
}
catch(StringTooLongException e){
System.out.println(e.getMessage());
System.out.println("Exception caught! Ending program.");
}
}
}


I've tried so many things, and to be honest I'm quite angry -_- , considering I have (basically) the same code in these three classes:

import java.util.Scanner;
public class Starter {

public static void main(String[] args) {

String done = "DONE";
System.out.println("DocType? U = Unclassified, C = Confidential, P = Proprietary.");
System.out.println("Type DONE, in all caps to end.");
Scanner scan = new Scanner(System.in);
String docType = scan.next();
while(docType.compareTo(done) != 0){
Document doc = new Document(docType);
System.out.println(doc);
docType = scan.next();
}
System.out.println("Program Fin~");
}

}

And:

public class Document {

private String dType = "U";
public Document(String docType){
try{
if( docType.compareToIgnoreCase("U") != 0
&& docType.compareToIgnoreCase("C") != 0
&& docType.compareToIgnoreCase("P") != 0 )
throw new InvalidDocumentCodeException();
dType = docType;
}
catch(InvalidDocumentCodeException e){
System.out.println("Exception caught and handled! Continuing...");
System.out.println(e.getMessage());
}
}

public void setDocType(String docType){
dType = docType;
}
public String toString(){
return "Document type: "+ dType.toUpperCase();
}
}

And:

public class InvalidDocumentCodeException extends Exception{

public InvalidDocumentCodeException(){
}

public String getMessage(){
return "Document code must be U (Unclassified), C (Confidential), or P (Proptietary)." +
"\nDocument will default to Unclassified.";
}

}


Thanks muchly! :/
"come korea next time... FXO house... 10 korean, 10 korean"
RaGe
Profile Blog Joined July 2004
Belgium9953 Posts
May 28 2009 00:38 GMT
#2
When an exception gets thrown, it immeadiately skips to the Catch, which is at the end of your program, so it terminates the program cause there's no following lines of code

program is doing what you made it to do lol
Moderatorsometimes I get intimidated by the size of my right testicle
RaGe
Profile Blog Joined July 2004
Belgium9953 Posts
May 28 2009 00:44 GMT
#3
wow i get more and more convinced you have no idea what you're doing and just copy pasted shit or something

i mean, your catch block is:

catch(StringTooLongException e){
System.out.println(e.getMessage());
System.out.println("Exception caught! Ending program.");
}


you even print that you're ending the program and you dont want it to end the program?
Moderatorsometimes I get intimidated by the size of my right testicle
HeavOnEarth
Profile Blog Joined March 2008
United States7087 Posts
May 28 2009 00:49 GMT
#4
On May 28 2009 09:38 RaGe wrote:
When an exception gets thrown, it immeadiately skips to the Catch, which is at the end of your program, so it terminates the program cause there's no following lines of code

program is doing what you made it to do lol


Firstly, the throw is inside a while loop. What I'm wondering is why the crap it isn't continuing the while loop, opposed to what it does now; which is ends the program. It should not be ending the program, it should be throwing an error, catching it, and then going back to the while loop.

On May 28 2009 09:44 RaGe wrote:
wow i get more and more convinced you have no idea what you're doing and just copy pasted shit or something

i mean, your catch block is:

catch(StringTooLongException e){
System.out.println(e.getMessage());
System.out.println("Exception caught! Ending program.");
}


you even print that you're ending the program and you dont want it to end the program?


Oh noes, I has a random print line that hasn't been changed from a previous version. Printing text doesn't end a program. ... (At least not this one)
"come korea next time... FXO house... 10 korean, 10 korean"
Abydos1
Profile Blog Joined October 2008
United States832 Posts
May 28 2009 00:53 GMT
#5
On May 28 2009 09:28 HeavOnEarth wrote:
Show nested quote +

import java.util.Scanner;

public class UserInput{

public UserInput(){

try{
String done = "DONE";
System.out.println("Type a string. Max 20 characters.");
System.out.println("Type DONE, in all caps to end.");
Scanner scan = new Scanner(System.in);
String s = scan.next();
while(s.compareTo(done) != 0){
if(s.length() > 20){
/**
* Here is the problem, it is ending the process,
* when it is obviously catching the exception.
*/
throw new StringTooLongException();
}
System.out.println(s);
s = scan.next();
}
}
catch(StringTooLongException e){
System.out.println(e.getMessage());
System.out.println("Exception caught! Ending program.");
}
}
}



If you're talking about this one the exception keeps going up the stack until it gets caught or the program ends, thus its getting out of the while loop.
"...perhaps the greatest joy possible in Starcraft, being accused of being a maphacker" - Day[9]
RaGe
Profile Blog Joined July 2004
Belgium9953 Posts
May 28 2009 00:54 GMT
#6
Maybe you should stop being so defensive and read the fucking solution for a change.

On May 28 2009 09:38 RaGe wrote:
When an exception gets thrown, it immeadiately skips to the Catch, which is at the end of your program, so it terminates the program cause there's no following lines of code



Your catch block is outside of the while loop, so it doesn't continue in the while loop after it executes the catch block. Java does not magically read your mind. This wasn't supposed to work. This isn't some obscure error. This is you skipping through whatever 'How to handle exceptions' guide you read, copy pasting some stupid shit that you don't understand, and asking tl to fix your errors.
Moderatorsometimes I get intimidated by the size of my right testicle
qrs
Profile Blog Joined December 2007
United States3637 Posts
Last Edited: 2009-05-28 00:56:07
May 28 2009 00:55 GMT
#7
^yes, but your catch block is outside the while loop. It's the same as if you would have used goto in C.
edit: Rage pre-empted me
'As per the American Heart Association, the beat of the Bee Gees song "Stayin' Alive" provides an ideal rhythm in terms of beats per minute to use for hands-only CPR. One can also hum Queen's "Another One Bites The Dust".' —Wikipedia
Malongo
Profile Blog Joined November 2005
Chile3479 Posts
May 28 2009 00:55 GMT
#8
I dont understand this program does exaclty what you want imo. LOL.
Help me! im still improving my English. An eye for an eye makes the whole world blind. M. G.
Malongo
Profile Blog Joined November 2005
Chile3479 Posts
May 28 2009 00:56 GMT
#9
On May 28 2009 09:49 HeavOnEarth wrote:
Show nested quote +
On May 28 2009 09:38 RaGe wrote:
When an exception gets thrown, it immeadiately skips to the Catch, which is at the end of your program, so it terminates the program cause there's no following lines of code

program is doing what you made it to do lol


Firstly, the throw is inside a while loop. What I'm wondering is why the crap it isn't continuing the while loop, opposed to what it does now; which is ends the program. It should not be ending the program, it should be throwing an error, catching it, and then going back to the while loop.

Show nested quote +
On May 28 2009 09:44 RaGe wrote:
wow i get more and more convinced you have no idea what you're doing and just copy pasted shit or something

i mean, your catch block is:

catch(StringTooLongException e){
System.out.println(e.getMessage());
System.out.println("Exception caught! Ending program.");
}


you even print that you're ending the program and you dont want it to end the program?


Oh noes, I has a random print line that hasn't been changed from a previous version. Printing text doesn't end a program. ... (At least not this one)

Catch is outside the loop... -_-
Help me! im still improving my English. An eye for an eye makes the whole world blind. M. G.
micronesia
Profile Blog Joined July 2006
United States24812 Posts
Last Edited: 2009-05-28 01:05:21
May 28 2009 00:57 GMT
#10
I love how you didn't put java or programming or anything like that in the thread title lol

I also like how I have absolutely nothing to contribute as I don't remember java at all.
ModeratorThere are animal crackers for people and there are people crackers for animals.
Abydos1
Profile Blog Joined October 2008
United States832 Posts
May 28 2009 00:58 GMT
#11
http://java.sun.com/docs/books/tutorial/essential/exceptions/
"...perhaps the greatest joy possible in Starcraft, being accused of being a maphacker" - Day[9]
Malongo
Profile Blog Joined November 2005
Chile3479 Posts
May 28 2009 01:01 GMT
#12
HOE I have a suggestion to make life easier to you:
Identation: helps to find easily where your code blocks belong, I hate to see a code that ends in 3/4 brackets and I dont know where the fuck they belong.

Help me! im still improving my English. An eye for an eye makes the whole world blind. M. G.
HeavOnEarth
Profile Blog Joined March 2008
United States7087 Posts
May 28 2009 01:02 GMT
#13
i'll post in a sec (at the bullshit)
"come korea next time... FXO house... 10 korean, 10 korean"
Abydos1
Profile Blog Joined October 2008
United States832 Posts
May 28 2009 01:02 GMT
#14
On May 28 2009 10:01 Malongo wrote:
HOE I have a suggestion to make life easier to you:
Identation: helps to find easily where your code blocks belong, I hate to see a code that ends in 3/4 brackets and I dont know where the fuck they belong.



fyi, it is indented but quote doesn't show them correctly.
"...perhaps the greatest joy possible in Starcraft, being accused of being a maphacker" - Day[9]
Malongo
Profile Blog Joined November 2005
Chile3479 Posts
May 28 2009 01:06 GMT
#15
On May 28 2009 10:02 Abydos1 wrote:
Show nested quote +
On May 28 2009 10:01 Malongo wrote:
HOE I have a suggestion to make life easier to you:
Identation: helps to find easily where your code blocks belong, I hate to see a code that ends in 3/4 brackets and I dont know where the fuck they belong.



fyi, it is indented but quote doesn't show them correctly.

Lollol true.
Help me! im still improving my English. An eye for an eye makes the whole world blind. M. G.
HeavOnEarth
Profile Blog Joined March 2008
United States7087 Posts
May 28 2009 01:12 GMT
#16
On May 28 2009 09:53 Abydos1 wrote:
Show nested quote +
On May 28 2009 09:28 HeavOnEarth wrote:

import java.util.Scanner;

public class UserInput{

public UserInput(){

try{
String done = "DONE";
System.out.println("Type a string. Max 20 characters.");
System.out.println("Type DONE, in all caps to end.");
Scanner scan = new Scanner(System.in);
String s = scan.next();
while(s.compareTo(done) != 0){
if(s.length() > 20){
/**
* Here is the problem, it is ending the process,
* when it is obviously catching the exception.
*/
throw new StringTooLongException();
}
System.out.println(s);
s = scan.next();
}
}
catch(StringTooLongException e){
System.out.println(e.getMessage());
System.out.println("Exception caught! Ending program.");
}
}
}



If you're talking about this one the exception keeps going up the stack until it gets caught or the program ends, thus its getting out of the while loop.


Thank you for actually knowing what you're talking about. I will look into this, after I rape some BM'ing assholes below.
-------------------
On May 28 2009 09:54 RaGe wrote:
Maybe you should stop being so defensive and read the fucking solution for a change.

Show nested quote +
On May 28 2009 09:38 RaGe wrote:
When an exception gets thrown, it immeadiately skips to the Catch, which is at the end of your program, so it terminates the program cause there's no following lines of code



Your catch block is outside of the while loop, so it doesn't continue in the while loop after it executes the catch block. Java does not magically read your mind. This wasn't supposed to work. This isn't some obscure error. This is you skipping through whatever 'How to handle exceptions' guide you read, copy pasting some stupid shit that you don't understand, and asking tl to fix your errors.


Maybe you should learn Java before you post. You can't put catch statement inside a try statement. Idiot.

On May 28 2009 09:55 qrs wrote:
^yes, but your catch block is outside the while loop. It's the same as if you would have used goto in C.
edit: Rage pre-empted me

Same to you, cept I'm going to be nice about it. A catch can't go inside a try statement.
-------------------
On May 28 2009 09:55 Malongo wrote:
I dont understand this program does exaclty what you want imo. LOL.

On May 28 2009 09:56 Malongo wrote:
Show nested quote +
On May 28 2009 09:49 HeavOnEarth wrote:
On May 28 2009 09:38 RaGe wrote:
When an exception gets thrown, it immeadiately skips to the Catch, which is at the end of your program, so it terminates the program cause there's no following lines of code

program is doing what you made it to do lol


Firstly, the throw is inside a while loop. What I'm wondering is why the crap it isn't continuing the while loop, opposed to what it does now; which is ends the program. It should not be ending the program, it should be throwing an error, catching it, and then going back to the while loop.

On May 28 2009 09:44 RaGe wrote:
wow i get more and more convinced you have no idea what you're doing and just copy pasted shit or something

i mean, your catch block is:

catch(StringTooLongException e){
System.out.println(e.getMessage());
System.out.println("Exception caught! Ending program.");
}


you even print that you're ending the program and you dont want it to end the program?


Oh noes, I has a random print line that hasn't been changed from a previous version. Printing text doesn't end a program. ... (At least not this one)

Catch is outside the loop... -_-


It does what it fucking does, and I don't understand why it's ending instead of continuing.
And again, catch can't go inside a try.

On May 28 2009 10:01 Malongo wrote:
HOE I have a suggestion to make life easier to you:
Identation: helps to find easily where your code blocks belong, I hate to see a code that ends in 3/4 brackets and I dont know where the fuck they belong.


Die. Please.
"come korea next time... FXO house... 10 korean, 10 korean"
qrs
Profile Blog Joined December 2007
United States3637 Posts
Last Edited: 2009-05-28 01:17:54
May 28 2009 01:17 GMT
#17
Dude, no one is saying that the catch should go inside the try. If you want the while loop to continue, then the catch should go inside the while loop. Why don't you read what people write? Try is not a loop.
'As per the American Heart Association, the beat of the Bee Gees song "Stayin' Alive" provides an ideal rhythm in terms of beats per minute to use for hands-only CPR. One can also hum Queen's "Another One Bites The Dust".' —Wikipedia
aers *
Profile Joined January 2009
United States1210 Posts
May 28 2009 01:17 GMT
#18
Put the try inside the while loop.
Chill
Profile Blog Joined January 2005
Calgary26004 Posts
May 28 2009 01:19 GMT
#19
Stop being so aggressive to the suggestions here. Also please stop martyring yourself.

People are giving you good advice and your reaction to it is terrible.
Moderator
RaGe
Profile Blog Joined July 2004
Belgium9953 Posts
May 28 2009 01:20 GMT
#20
First of all: Tell me where I tell you to put your catch block inside your try block? Right, no where. You're the one that doesn't know where to put it, not me.

Secondly: Don't tell me to go learn some Java when you're learning the basic shit yourself and don't even realize how retarded all your previous statements were.

Lastly: Can you please tell me who the fuck you're sharing your account with that is making these dumbass statements? Apparently your IP has been static for days, and now it changes for every post you make about this problem.

Abusing your forum regular status to get answers for a friend that's apparently retarded. Way to fucking go.
Moderatorsometimes I get intimidated by the size of my right testicle
1 2 3 4 5 Next All
Please log in or register to reply.
Live Events Refresh
BSL
05:00
RO24 Group F
Cross vs Puma
Artosis vs Spine
ZZZero.O344
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
IndyStarCraft 205
ProTech119
Ketroc 44
EmSc Tv 23
StarCraft: Brood War
ZZZero.O 344
ggaemo 23
Terrorterran 4
LuMiX 1
Counter-Strike
pashabiceps2187
jkaem52
Super Smash Bros
hungrybox473
Mew2King57
Heroes of the Storm
Liquid`Hasu636
Khaldor179
Other Games
summit1g8303
tarik_tv5456
Grubby2908
Liquid`RaSZi1956
singsing1710
FrodaN1405
PiGStarcraft390
QueenE108
NeuroSwarm52
Railgan27
Organizations
Other Games
EGCTV1057
gamesdonequick666
Counter-Strike
PGL95
StarCraft 2
EmSc Tv 23
EmSc2Tv 23
[ Show 17 non-featured ]
StarCraft 2
• Hupsaiya 76
• Adnapsc2 11
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• Pr0nogo 29
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV583
League of Legends
• Jankos2128
• Nemesis2122
Other Games
• imaqtpie1138
• Shiphtur233
• tFFMrPink 13
Upcoming Events
Replay Cast
2h 6m
Replay Cast
1d 2h
Sparkling Tuna Cup
1d 13h
WardiTV Invitational
1d 15h
YoungYakov vs Lambo
SHIN vs TBD
Percival vs Shameless
Solar vs TBD
PiGosaur Cup
2 days
The PondCast
3 days
KCM Race Survival
3 days
WardiTV Invitational
3 days
CranKy Ducklings
5 days
IPSL
5 days
TerrOr vs IJ_Terran
rasowy vs Hazorath
[ Show More ]
Sparkling Tuna Cup
6 days
IPSL
6 days
Art_Of_Turtle vs KameZerg
Radley vs George
Liquipedia Results

Completed

Proleague 2026-11-06
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
International ShieldBattery League
BSL Season 23
IPSL Winter 2026-27
Calamity Cup Div. A Season 8
IEM Beijing 2026
PGL Masters Bucharest 2026
Stake Ranked Episode 5
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026

Upcoming

Sector 951
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Underdog Cup 2026 Div 2-3
PGL Bucharest 2027
BLAST Bounty Winter 2027
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.