I am having problems catching an exception I made

I made an exception, but my program won't catch it.
import java.io.*;
import java.util.Scanner;
public class Driver {
     public static void main(String [] args){
          String input;
          InputStream yourfile;
          Scanner file;
          Scanner scan = new Scanner (System.in);
          System.out.println("Enter the file you want to view:");
          input = scan.next();
          yourfile = Driver.class.getResourceAsStream(input);
          file = new Scanner(yourfile);
          System.out.println("Designation Code Report Number Title");
          input = file.nextLine();
          try{
          do{
               input = file.nextLine();
          if ((input.charAt(0)=='U')){
               System.out.println("Unclassified "+ input);
          else
               if ((input.charAt(0)=='C')){
                    System.out.println("Confidential "+ input);
               else
                    if ((input.charAt(0)=='P')){
                         System.out.println("Proprietary "+ input);
          }while(file.hasNext()==true);     
          }catch(InvalidDocumentCodeException exception){
               System.out.println("LOSE");
}My exception code:
public class InvalidDocumentCodeException extends Exception {
     public InvalidDocumentCodeException(String message) {
          super(message);
}

That was a brain fart of a mistake. I put the throw in there, but it says that it's undefined.
import java.io.*;
import java.util.Scanner;
public class Driver {
     public static void main(String [] args){
          String input;
          InputStream yourfile;
          Scanner file;
          Scanner scan = new Scanner (System.in);
          System.out.println("Enter the file you want to view:");
          input = scan.next();
          yourfile = Driver.class.getResourceAsStream(input);
          file = new Scanner(yourfile);
          System.out.println("Designation Code Report Number Title");
          input = file.nextLine();
          try{
          do{
               input = file.nextLine();
          if ((input.charAt(0)=='U')){
               System.out.println("Unclassified "+ input);
          else
               if ((input.charAt(0)=='C')){
                    System.out.println("Confidential "+ input);
               else
                    if ((input.charAt(0)=='P')){
                         System.out.println("Proprietary "+ input);
                    else
                         throw InvalidDocumentCodeException("Exception!");
          }while(file.hasNext()==true);     
          }catch(InvalidDocumentCodeException exception){
               System.out.println("LOSE");
}

Similar Messages

  • Hi i am having problems connecting to internet using ethernet,in the network diagnostics i get all green,except network settings which is orange.i am running mountain lion on intel imac

    hi i am having problems connecting to internet using ethernet,in the network diagnostics i get all green,except network settings which is orange.i am running mountain lion on intel imac

    hi have done as you said plug ethernet straight into computer and into back of router,and worked straight off,i had the the powerline on extention when imac was up stairs,when i had computer down stairs it still would not work with powerlines even on main wall sockets,so they are getting binned,looks like i will have to move router upstairs,just wondering if i got extention wire from back of openreach box to router upstairs```,would it be ok,,the openreach box is next to my only phone socket in house,which is in back kitchen..any advice would be great,

  • I am having problems updating my apps, my apple ID is not excepting my visa card

    I am having problems updating my apps, App Store is rejecting my payment method.  I only have the one card.

    Is it a credit card or debit card? Must be a credit card.
     Cheers, Tom

  • Having problems copying an image

    I'm having problems copying an image. The Image comes from my jar file and I'm trying to copy it to my hard drive. The problem is that it seems to add extra characters at the beggining and maybe at the end as well. I used a Hex Editor to compare the contents.
    Anyway I was wondering if anyone could offer suggestions.
    My code is listed below in case that helps.
    "in" is an InputStream, "content" is a byte array, and "out" is an OutputStream
    try {
       in = getClass().getResourceAsStream("LoveGameSm.gif");
       content = new byte[in.available()];
       out = new ObjectOutputStream(new FileOutputStream("Tmp.gif"));
       in.read(content);
       out.write(content);
       out.flush();
       in.close();
       out.close();
    catch(Exception e)  {
       e.printStackTrace();
       return null;
    }

    The problem is in the use of ObjectOutputStream... this does not work the way you think it does. It is used to serialize an object to an output stream. A serialized object is just the on-disk representation of a Java object. So, you are getting a serialized copy of a byte array, which is why there are extra characters.
    Instead, just leave off the ObjectOutputStream stuff, and write to the FileOutputStream. Better yet, wrap it in a BufferedOutputStream to increase performance.

  • Still having problems with images

    I am still having problems putting images into an Oracle 9i database and fetching them back out.
    I think I have finally managed to force a blob image into the database, but can't seem to get it back out into a byte array.
    After many iterations, I have come up with something that might be getting close.
    The code is listed below.
    Everything has been simplified as much as I can.
    The function get_user_picture_func1 returns a single blob for a specified index.
    In this case, I have hardcoded the index = 3 and I think there is an image in the database for that index. (it says there are bytes there anyway).
    The byte array to store the image is defined outside the method fetchImage().
    byte[] imageData;
    When I call fetchImage() I get the following exception:
    Invalid argument(s) in call: getBytes().
    at the line
    imageData = picture.getBytes(zro, k);
    It looks like getBytes has two parameters, Long offset, int length.
    I had diagnostic statements and I confirmed that the statement:
    int k = (int)picture.length(); returned k=4198 (the same size as the image).
    I am at a loss to understand what the exception is trying to tell me.
    I'be been trying to get this to work for a week now and am really getting burned out trying to find anything that works.
    void fetchImage()
    Blob picture;
    String query = "{ ? = call get_user_picture_func1( ? ) }";
    try
    CallableStatement cs = con.prepareCall( query );
    cs.registerOutParameter(1, OracleTypes.BLOB);
    cs.setInt(2,3);
    cs.execute();
    picture = cs.getBlob(1);
    if( picture != null)
    InputStream in = picture.getBinaryStream();
    int k = (int)picture.length();
    imageData = new byte[k];
    long zro = 0;
    imageData = picture.getBytes(zro, k);
    catch( Exception e)
    }

    I have been using my iPad mini with keynote to make slide presentations in  my classes.There has been no problem until I upgraded to Keynote 5.3. Now the refresh rate on the iPad mini is so slow and out of sync with the projected image that I was forced to not use keynote! I have 2 years of work invested that I will have to toss unless this gets fxed. I have not had this problem with this equipment/files before. Only change was upgrade to keynote 5.3. ( Some details: I connect to the projector with a  VGA cable and Apple lightining adaptor to the iPad Mini. All updates current on theiPad Mini.)  Yes I did turn on and off all equipment. And I did check all cable connections. Thanks for any help you may give!

  • Catching Converter Exceptions

    Hello! Anyone here have any idea or having the same problem on how to catch an exception from a DateTimeConverter object? It seems like a getAsObject() was performed before entering the validate action of a specific textfield which has a DateTimeConverter on it. I wanted to cutomize the message instead of the "Conversion error" that is appearing on my portlet.
    Thanks!!!

    Many Thanks Sakthi!!! how stupid of me!! I didn't see that it was on the tutorial hahaha been I've been looking for a reference for almost a day. anyway any idea also on how to catch an Exception form the validator when it is binded to a textfield? I've done it using a validator-method(event) but not when it is binded to a textfield is this possible?

  • Hi Can anyone help. I'm having problem with FaceTime on my IPAD .It connects but cuts out Simolarly when someone calls me it connects , then cuts out ThanksBrian

    Hi Having problem with FACETIME on my IPAD Connects to call but then cuts out , similarly calls in connect & cut out Can someone help. Brian

    My ipad is doing the same thing to it won't let me except a incoming call on Facebook and I don't know what to do

  • Having problems connecting MacBook Pro 2010 TO vizio 60 " tv

    having problems connecting MacBook Pro 2010 TO vizio 60 " tv using mini displayport to VGA adapter
    non support warning appears pn tv monitor

    However, I still don't get a view of anything on the desktop except for the standard Apple swirl.
    Can you drag windows to the other display?
    In the "Arrangement" tab of "Displays" system preference, you can drag the display pictures to match the actual arrangement, drag the menu bar to the other display, or enable mirroring.

  • Why do I need to catch this exception?

    Hello all
    This is a question about exception handling. I have to build a diary application that lets you save reminders on particular dates using xml. Just to make it a little tougher, I was not allowed to use the Calendar class. This is the code I wrote:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    import java.text.*; 
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import java.io.*;     
    import org.w3c.dom.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;                                                                                                                                                                                                                         
    import static java.lang.Math.*;
    public class CalendarAssignment extends JFrame implements ActionListener
         int MonthLength [] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
         public JButton [] days = new JButton[43];
         private JLabel lbl, reminderlbl;
         private JPanel top, grid, remindercenter, reminderbottom;
         private JFrame reminderframe;
         private JTextField year1, reminderinput, dayno;
         private JComboBox months;
         private Container container;
         private JButton fetch, save, cancel;
         private Document doc;
         private File file;
         private Node node;
         private String year, month, day;
              public static void main( String[] args ) {
                   CalendarAssignment c = new CalendarAssignment( );
                   c.setSize( 400, 300 );
                   c.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
                   c.show( );
              public CalendarAssignment( ) {
                   int CurrentYear, CurrentMonth;
                   String YearString, MonthString, Now;
                   Date today;
                   container = getContentPane( );
                   container.setLayout( new BorderLayout( ) );
                   SimpleDateFormat DateFormatter;
                   DateFormatter = new SimpleDateFormat( "MM.yyyy" );
                   today = new Date( );
                   Now = DateFormatter.format( today );
                   MonthString = Now.substring( 0,2 );
                   YearString = Now.substring( 3,7 );
                   CurrentMonth = Integer.valueOf( MonthString );
                   CurrentYear = Integer.valueOf( YearString );
                   top = new JPanel( );
                        String [] items = { "January", "February", "March", "April", "May", "June",
                                      "July", "August", "September", "October", "November",
                                      "December" };
                        months = new JComboBox( items );
                        months.setEditable( false );
                        months.setSelectedIndex( CurrentMonth - 1 );          
                        year1 = new JTextField( );
                        year1.setText( YearString );
                        year1.setEditable( true );
                        year1.setHorizontalAlignment( year1.CENTER );
                        fetch = new JButton( "Fetch Month" );
                        fetch.addActionListener( this );
                        top.setLayout( new GridLayout( 1, 3, 20, 0 ) );
                        top.add( months );
                        top.add( year1 );
                        top.add( fetch );
                   grid = new JPanel( );
                        grid.setLayout( new GridLayout( 7, 7, 0, 0 ) );
                        String [] week = { "Mon", "Tue", "Wed", "Thur", "Fri", "Sat", "Sun" };
                        for ( int a = 0; a < 7; a ++ ) {
                                  JLabel lbl = new JLabel( week[a], JLabel.CENTER );
                                  grid.add( lbl );
                        for ( int i = 0; i < 42; i ++ ) {
                                  days[i] = new JButton( );
                                  grid.add( days[i] );
                                  days.addActionListener( this );
                        DrawCalendar( CurrentMonth, CurrentYear );
                        container.add( top, BorderLayout.NORTH );
                        container.add( grid, BorderLayout.CENTER );
              private void DrawCalendar( int SelectMonth, int SelectYear ) {
                        int DisplayMonthLength, Buttons;
                        String ButtonID = "";
                        int OffSet = MonthStart( SelectMonth, SelectYear );
                        DisplayMonthLength = MonthLength [SelectMonth - 1];
                        if ( SelectMonth == 2 )
                             DisplayMonthLength += LeapYear( SelectYear );
                        for ( Buttons = 1; Buttons < 43; Buttons ++ ) {
                             if ( ( Buttons <= OffSet ) || ( Buttons > ( DisplayMonthLength + OffSet ) ) ) {
                                  ButtonID = "";
                                  days[Buttons-1].setEnabled( false );
                             else {
                                  ButtonID = Integer.toString( Buttons - OffSet );
                                  days[Buttons-1].setEnabled( true );
                        days[Buttons-1].setLabel( ButtonID );
                        grid.add( days[Buttons-1] );
              private int LeapYear( int year ) {
                        int FourHundred, OneHundred, Fourth;
                        FourHundred = year % 400;
                        OneHundred = year % 100;
                        Fourth = year % 4;
                        if( ( ( FourHundred == 0 ) ) || ( ( OneHundred != 0 ) && ( Fourth == 0 ) ) )
                             return ( 1 );
                        else
                             return ( 0 );
              private int MonthStart( int Month, int Year ) {
                        int OffSet, LastMonths, BeforeOrAfter, Years;
                        int AllDays = 0;
                        int YearDays = 365;
                        int YearMonths = 12;
                        BeforeOrAfter = Year - 2006;
                        Years = abs( BeforeOrAfter );
                        if( BeforeOrAfter != 0 )
                             BeforeOrAfter = BeforeOrAfter / Years;
                        switch( BeforeOrAfter ) {
                             case 1:
                                  for( int a = 2006; a < Year; a ++ ) {
                                       AllDays += YearDays + LeapYear( a );
                                  AllDays += LastMonthsCalc( Month, Year );
                             break;
                             case -1:
                                  for( int a = 2005; a > Year; a -- ) {
                                       AllDays += YearDays + LeapYear( a );
                                  for( LastMonths = YearMonths; LastMonths >= Month; LastMonths -- ) {
                                       AllDays += MonthLength[LastMonths - 1];
                                       if( LastMonths == 2 )
                                            AllDays += LeapYear( Year );
                             break;
                             default:
                                  if( Month > 1 )
                                       AllDays += ( LastMonthsCalc( Month, Year ) );
                        OffSet = AllDays % 7;
                        if( BeforeOrAfter ==( -1 ) )
                             return( 6 - OffSet );
                        else if( OffSet > 0 )
                             return( OffSet - 1 );
                        else
                             return( 6 );
              private int LastMonthsCalc( int Month, int Year ) {
                        int Counter;
                        int days = 0;
                        for( Counter = 1; Counter < Month; Counter ++ ) {
                             days += MonthLength[Counter - 1];
                             if( Counter == 2 )
                                  days += LeapYear( Year );
                        return( days );
              public void CreateReminder( String buttonID, String yearID, String monthID ) {
                        reminderframe = new JFrame( );
                        reminderlbl = new JLabel( );
                        reminderframe.setLayout( new GridLayout( 2, 1, 0, 0 ) );
                        remindercenter = new JPanel( );
                             reminderlbl = new JLabel( "Please type in reminder to be saved for " + buttonID + " " + monthID + " " + yearID + ":", JLabel.CENTER );
                             reminderinput = new JTextField( 30 );
                             reminderinput.setHorizontalAlignment( reminderinput.CENTER );
                             reminderinput.setEditable( true );
                             remindercenter.setLayout( new GridLayout( 2, 1, 0, 0 ) );
                             remindercenter.add( reminderlbl );
                             remindercenter.add( reminderinput );
                        reminderbottom = new JPanel( );
                             save = new JButton( "Save" );
                             save.addActionListener( this );
                             cancel = new JButton( "Cancel" );
                             cancel.addActionListener( this );
                             dayno = new JTextField( buttonID );
                             dayno.setEditable( false );
                             dayno.setEnabled( false );
                             dayno.show( false );
                             reminderbottom.setLayout( new FlowLayout( ) );
                             reminderbottom.add( save );
                             reminderbottom.add( cancel );
                             reminderbottom.add( dayno );
                        reminderframe.setSize( 500, 75 );
                        reminderframe.add( remindercenter );
                        reminderframe.add( reminderbottom );
                        reminderframe.pack( );
                        reminderframe.show( );
              public void SaveReminder( String dayID, String yearID, String monthID ) throws Exception {
                        file = new File( "Diary.xml" );
                        doc = DocumentBuilderFactory.newInstance( ).newDocumentBuilder( ).parse( file.toURL( ).toString( ) );
                        String year = yearID;
                        String month = monthID;
                        String day = dayID;
                        //System.out.println( year );
                        //System.out.println( month );
                        //System.out.println( day );
                        CreateEntry( doc.getDocumentElement( ) );
                        writeXmlFile( );
              public boolean CreateEntry( Node node ) {
                        Node searchNode;
                        searchNode = getYear( node );
                        if( searchNode == null ) {
                             Element newNode = doc.createElement( "Year" );
                             searchNode = node.appendChild( newNode );
                             newNode.setAttribute( "Id", year );
                        node = searchNode;
                        searchNode = getMonth( node );
                        if( searchNode == null ) {
                             Element newNode = doc.createElement( "Month" );
                             searchNode = node.appendChild( newNode );
                             newNode.setAttribute( "Id", month );
                        node = searchNode;
                        searchNode = getDay( node );
                        if( searchNode == null ) {
                             Element newNode = doc.createElement( "Day" );
                             searchNode = node.appendChild( newNode );
                             newNode.setAttribute( "Id", day );
                        node = searchNode;
                        String entry = reminderinput.getText( );
                        Node textNode = doc.createTextNode( entry );
                        node.appendChild( textNode );
                        return true;
              private Node getYear( Node node ) {
                        node = node.getFirstChild( );
                        while( node != null ) {
                             if(node.getNodeName( ).equals( "Year" ) && String.valueOf( node.getAttributes( ).item( 0 ).getNodeValue( ) ) == year )
                                  return node;
                                  node = node.getNextSibling( );                    
                        return null;
              private Node getMonth( Node node ) {
                        node = node.getFirstChild( );
                        while( node != null ) {
                             if( node.getNodeName( ).equals( "Month" ) && String.valueOf( node.getAttributes( ).item( 0 ).getNodeValue( ) ) == month )
                                  return node;
                                  node = node.getNextSibling( );                    
                        return null;
              private Node getDay( Node node ) {
                        node = node.getFirstChild( );
                        while( node != null ) {
                             if( node.getNodeName( ).equals( "Day" ) && String.valueOf( node.getAttributes( ).item( 0 ).getNodeValue( ) ) == day )
                                  return node;
                                  node = node.getNextSibling( );                    
                        return null;
              private void writeXmlFile( ) throws Exception {
                   Source source = new DOMSource( doc );
                        Result result = new StreamResult( file );
                   Transformer xformer = TransformerFactory.newInstance( ).newTransformer( );
                   xformer.setOutputProperty( OutputKeys.INDENT,"yes" );
                   xformer.setOutputProperty( OutputKeys.DOCTYPE_SYSTEM,"Diary.dtd" );
                   xformer.transform( source, result );
              public void actionPerformed( ActionEvent e ) {
                        String IDButton = e.getActionCommand( );
                        String IDYear = year1.getText( );
                        Object IDMonthObj = months.getSelectedItem( );
                        if( e.getSource( ) == fetch ) {
                             String YearText = year1.getText( );
                             int YearNumber = Integer.valueOf( YearText );
                             int MonthsIndex = months.getSelectedIndex( ) + 1;
                             DrawCalendar( MonthsIndex, YearNumber );
                        else if( e.getSource( ) == cancel ) {
                             reminderframe.hide( );
                        else if( e.getSource( ) == save ) {
                             String IDDay = dayno.getText( );
                             String IDMonth = String.valueOf( IDMonthObj );
                             SaveReminder( IDDay, IDYear, IDMonth );
                        else {
                             String IDMonth = String.valueOf( IDMonthObj );
                             Toolkit.getDefaultToolkit( ).beep( );
                             int n = JOptionPane.showConfirmDialog( null, "Set reminder on this date?", "Question", JOptionPane.YES_NO_OPTION );
                             if( n == JOptionPane.YES_OPTION ) {
                                  CreateReminder( IDButton, IDYear, IDMonth );
    If you compile it, you will realise that I get an error about exception handling. My lecturer gave me an example code of how to do the same thing without using a GUI:
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import java.io.*;
    import java.util.*;
    import org.w3c.dom.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    public class CallDOM
         Document doc;
         File file;
         Scanner input;
         int year, month, day;
         String currentYear, currentMonth;
         public static void main(String args[]) throws Exception
              CallDOM cd=new CallDOM();          
         CallDOM() throws Exception
              file=new File("Diary.xml");
              //create DOM from file
              doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file.toURL().toString());
              input=new Scanner(System.in);
              System.out.println("1) Create entry");
              System.out.println("2) Read entry");
              System.out.println("3) Show Diary");
              System.out.println("4) Quit");
              int choice=input.nextInt();
              while(choice!=4)
                   switch(choice)
                        case 1: GetDate();CreateEntry(doc.getDocumentElement());break;
                        case 2: GetDate();ReadEntry(doc.getDocumentElement());break;
                        case 3: ShowDiary(doc.getDocumentElement());
                   System.out.println("1) Create entry");
                   System.out.println("2) Read entry");
                   System.out.println("3) Show Diary");
                   System.out.println("4) Quit");
                   choice=input.nextInt();
              writeXmlFile();
         public void GetDate()
              System.out.println("Enter date (dd mm yyyy)");
              day=input.nextInt();
              month=input.nextInt();
              year=input.nextInt();
         public boolean ReadEntry(Node node)
              node = getYear(node);
              if(node==null) return false;
              node = getMonth(node);
              if(node==null) return false;
              node = getDay(node);
              if(node==null) return false;
              node = node.getFirstChild();
              while(node!=null)
                   System.out.println(node.getNodeValue().trim());     
                   node=node.getNextSibling();
              return true;               
         public boolean CreateEntry(Node node)
              Node searchNode;
              searchNode = getYear(node);
              if(searchNode==null)
                   Element newNode = doc.createElement("Year");
                   searchNode = node.appendChild(newNode);
                   newNode.setAttribute("Id",Integer.toString(year));
              node = searchNode;
              searchNode = getMonth(node);
              if(searchNode==null)
                   Element newNode = doc.createElement("Month");
                   searchNode = node.appendChild(newNode);
                   newNode.setAttribute("Id",Integer.toString(month));
              node = searchNode;
              searchNode = getDay(node);
              if(searchNode==null)
                   Element newNode = doc.createElement("Day");
                   searchNode = node.appendChild(newNode);
                   newNode.setAttribute("Id",Integer.toString(day));
              node = searchNode;
              System.out.println("Enter Text");
              String entry=input.next();
              entry+=input.nextLine();
              Node textNode = doc.createTextNode(entry);
              node.appendChild(textNode);
              return true;               
         public void ShowDiary(Node node)
              Stack<Node> stack=new Stack<Node>();
              Node child;
              stack.push(node);
              while(!stack.empty())
                   node = stack.pop();
                   if(ProcessNode(node))
                        child = node.getLastChild();
                        while(child!=null)
                             stack.push(child);
                             child = child.getPreviousSibling();
         private boolean ProcessNode(Node node)
              if(node.getNodeName().equals("Year"))
                   currentYear=node.getAttributes().item(0).getNodeValue();
              if(node.getNodeName().equals("Month"))
                   currentMonth=node.getAttributes().item(0).getNodeValue();
              if(node.getNodeName().equals("Day"))
                   System.out.print(node.getAttributes().item(0).getNodeValue()+"/"+
                                            currentMonth+"/"+currentYear+": ");
                   node=node.getFirstChild();
                   while(node!=null)
                        System.out.println(node.getNodeValue().trim());
                        node=node.getNextSibling();
                   return false;
              return true;               
         private Node getYear(Node node)
              node=node.getFirstChild();
              while(node!=null)
                   if(node.getNodeName().equals("Year")
                        && Integer.valueOf(node.getAttributes().item(0).getNodeValue())==year)
                             return node;
                   node = node.getNextSibling();                    
              return null;
         private Node getMonth(Node node)
              node=node.getFirstChild();
              while(node!=null)
                   if(node.getNodeName().equals("Month")
                        && Integer.valueOf(node.getAttributes().item(0).getNodeValue())==month)
                        return node;
                   node = node.getNextSibling();                    
              return null;
         private Node getDay(Node node)
              node=node.getFirstChild();
              while(node!=null)
                   if(node.getNodeName().equals("Day")
                        && Integer.valueOf(node.getAttributes().item(0).getNodeValue())==day)
                        return node;
                   node = node.getNextSibling();                    
              return null;
         private void writeXmlFile() throws Exception
            Source source = new DOMSource(doc);
            Result result = new StreamResult(file);
            Transformer xformer = TransformerFactory.newInstance().newTransformer();
            xformer.setOutputProperty(OutputKeys.INDENT,"yes");
            xformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"Diary.dtd");
            xformer.transform(source, result);
    }My question is, why does the exceptions in the example code not need to be caught? And why do I have to catch the exceptions in my code? Several exceptions are thrown in the example code, but there is no catch statement.
    Thanks for any advice!!

    Since your question didn't come with any relevant details, and since you have huge steaming piles of irrelevant code, all I can give is a general answer to "Why do I need to catch this exception?"
    [url http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html]Exception tutorial at http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html
    Here's a quick overview of exceptions:
    The base class for all exceptions is Throwable. Java provides Exception and Error that extend Throwable. RuntimeException (and many others) extend Exception.
    RuntimeException and its descendants, and Error and its descendants, are called unchecked exceptions. Everything else is a checked exception.
    If your method, or any method it calls, can throw a checked exception, then your method must either catch that exception, or declare that your method throws that exception. This way, when I call your method, I know at compile time what can possibly go wrong and I can decide whether to handle it or just bubble it up to my caller. Catching a given exception also catches all that exception's descendants. Declaring that you throw a given exception means that you might throw that exception or any of its descendants.
    Unchecked exceptions (RuntimeException, Error, and their descendants) are not subject to those restrictions. Any method can throw any unchecked exception at any time without declaring it. This is because unchecked exceptions are either the sign of a coding error (RuntimeException), which is totally preventable and should be fixed rather than handled by the code that encounters it, or a problem in the VM, which in general can not be predicted or handled.

  • If you're having problems with USB ports, read on...

    i'm reading that alot of people on here are having problems with their front (or top) usb on their cases not working with their k7n2 boards.  i have come across the correct solution to this problem in one of the posts (after having solved the problem on my own), however noone has posted the solution by itself on this forum so everyone can easily see it.
    The trick is to make sure that pin 10 (at least on a K7n2 delta-L), the pin labeled USBOC (USB Open Connection), is wired to NOTHING.  If the connector to your front usb ports is fused into one giant connector and it HAS a wire that will connect to this pin (labeled GND2 or Shield or something), CUT THAT WIRE.  Pin 10 on JUSB2 (at least on a K7n2 delta-L) must be OPEN.  If this pin IS connected to something (even if it is only GND), the motherboard will think something is connected to this usb port and you will get many unknown devices listed in your windows device manager and the rest of your usb ports may or may not work.
    As a general rule of thumb, if a pin on a motherboard is labeled OC for "Open Connection" and you wire something to it, you're asking for trouble.
    If you cannot understand this you should not be attempting to wire a motherboard in the first place. 
    Here is a picture to go along with this discussion.  If you cannot see this picture, I am sorry for it has probably been removed from the place I posted it online as I cannot attach pictures physically to this post.  If someone here has a way to permanently host this picture and post it to this thread permanently, that would be wonderful.
    In summary: all usb ports/headers have only four pins associated with it (VCC, USB+, USB-, GND).  If the connector (whether it's one big connector or individual sockets) to your front/top usb port has 5 sockets, don't connect the 5th socket to anything.  That goes for any case/motherboard combination.  This is what i'm talking about above.  I have no idea why motherboard and case manufacturers have a 5th pin involved in any way on either the pin or socket side.  It is not used for usb.
    EDIT:  I just noticed this has already been discussed in the trouble shooting guide in the above sticky post.  oh well, now we have a pretty picture to go along with it (i hope).

    :-D)Hello guys,
    as promised I come back here to give the results of my tests... and I have to say that you saved my day (even if I had to open back 60 secured cases).
    So the solution was the right one, when I unplugged the "ground" end of the front USB connector cable from the USBOC pin, those connectors finally worked as expected with USB 2.0 compliant devices.
    So thank you really much for this very usefull information !
    And even if maybe it's not only MSI's fault, I still believe that more information on those connectors in the user's manual would be really usefull (who knows what USBOC means except a few people and who could imagine that pluggin on it a "ground" cable would make it unserviceable ??). And who ever saw a user's manual bundled with a case ?? it's pretty unusual  
    Hope that someone at MSI will read that and take it into consideration, not for me (because now I'm aware) but for the thousands other consumers that will feel a little bit "annoyed" with that issue. I don't think that adding one line about it in user's manuals would be so much expensive  
    But I'm quite lucky myself... being able to understand and write english (even if I still have some progress to do  ) gave me the possibility to find the solution... but a lot of my french fellows can't do that... and there's no french forum here... How can they do ? They rely on user's manual
    Best regards,
    Nicolas

  • HT4009 IX have an iPad version 4.3 and I had instagram install, like I was having problem I uninstalled it, but now I can't install it again, because my iPad doesn't support the new version, is there a way that I can download instagram for this iPad?

    I have an iPad version 4.3 and I had instagram install, like I was having problem I uninstalled it, but now I can't install it again, because my iPad doesn't support the new version, is there a way that I can download instagram for this iPad?

    Update your iOS.
    If you have an iPad 1, the max iOS is 5.1.1. For newer iPads, the current iOS is 6.1.3. The Settings>General>Software Update only appears if you have iOS 5.0 or higher currently installed.
    iOS 5: Updating your device to iOS 5 or Later
    http://support.apple.com/kb/HT4972
    How to install iOS 6
    http://www.macworld.com/article/2010061/hands-on-with-ios-6-installation.html
    iOS: How to update your iPhone, iPad, or iPod touch
    http://support.apple.com/kb/HT4623
    If you are currently running an iOS lower than 5.0, connect the iPad to the computer, open iTunes. Then select the iPad under the Devices heading on the left, click on the Summary tab and then click on Check for Update.
    Tip - If connected to your computer, you may need to disable your firewall and anitvirus software temporarily.  Then download and install the iOS update. Be sure and backup your iPad before the iOS update. After you update an iPad (except iPad 1) to iOS 6.x, the next update can be installed via wifi (i.e., not connected to your computer).
    Tip 2 - If you're updating via wifi, place your iPad close to your router to preclude getting a corrupted download.
     Cheers, Tom

  • MBP 2011 died and having problems reinstalling Mac OS

    Hello,
    Having problems trying to make my MBP start working again...
    Tech info:
    Early 2011 MBP, 10.6.6 preinstalled Mac OS X
    2.3GHz Quad-core Intel Core i7
    8GB 1333MHz DDR3 SDRAM - 2x4GB
    256GB Solid State Drive
    SuperDrive 8x (DVD±R DL/DVD±RW/CD-RW)
    MacBook Pro 17-inch Hi-Resolution Antiglare Widescreen Display
    Was full updated up to date 3-4 days ago, so probably it was 10.6.7 before the crash.
    I am pretty new to Macs and english is not my first language, so please excuse me if i use wrong terminology. Thanks.
    It is pretty long story, the problem is - i can not install Mac OS X and make it work. The at the moment description of the situation is in Part 6, so you might want to skip parts 1-5, although reading those might be needed to understand the source of the problem or some details.
    The Story:
    Everything worked great for about a month but then multi-language kernel panic windows asking me to reboot computer poped up. Reboot didnt help and it kept asking me for more and more reboots after like 1 minute after it logs in into Mac Os.
    I had 3 programms(among others) installed: Kaspersky(fully updated trial), Parallels(activated a month age oem version, runing Windows 7 as a virtual machine without using Bootcamp) and virtualbox(activated 2 weeks ago, not being used or opened for ~10 days).
    Part 1 - After logging into Mac OS 2 messages always pop'ed up:
    1) Kaspersky couldnt lunch in previous Mac OS startup(not current)
    2) Parallels message: Its time to choose either to use trial Parallels or to enter activation key. Thats really weird because it was activated a month ago, was fully updated and worked great every day. When i tried to activate it again it just didnt accept the key which was accepted last time: the icon was still grey and not clickable, rechecked 10 times at that moment.
    Ok, decided to uninstall both Kaspersky and Parallels via Safe Mode. Safe Mode is working fine. Removed programms by dragging them from application folder to trash can. Worked fine. Logged into normal mode. No messages appear except the "Hello, you had kernel last time", but still Kernel appear in 2-3 minutes. Logging in 32b mode(by pressing 32 while booting up) doesn't help either.
    Part 2 - Rebooted. Booted from boot DVD and used Disk utility - nothing is wrong.
    Went to safe mode again. Found Kernel Log and it showed me that the source of the error was some file of VirtualBox(at least it has virtualbox in its name. Virtualbox itself, again, wasn't launched for like 10 days) located in /extension folder. Removed virtualbox program by dragging it from applications folder to trash. Worked fine, but those files in /extension folder weren't deleted. I am pretty new to Macs, so i wasn't sure if those are really VirtualBox programm's files or Mac OS system files, so i decided to reboot and check if the problem still not fixed.
    Result: You cant boot neither in normal mode or in Safe mode. It just doesnt react on anything.
    No backups. Great.
    Part 3. Booted via boot DVD. Worked fine. Checked if disc was ok - it wasn't ok. Tried to repair - cant repair, suggests me to reinstall.
    Made a backup on external HDD(have it atm, so iа you need any info i can get from that backup to help you guys understand what happened - ask and i will give it to you asap).
    Erased internal HDD with zeroes(1 row), it still has 4 files on it(around 300 mb), probably those are the files copied from Boot DVD, but i am not sure.
    Part 4. Tried to install Mac OS from boot DVD. File system is for Mac os with journaled option activated. Installation process starts fine but at some point(around 25-30% while telling me its around 30 minutes left) the error message appears telling mу the installation couldn't be continued because it cant copy some files from DVD(no particullar files mentioned). Advising me to reboot and try again. Same thing happens always.
    DVD disk was never used and even not unpacked before, looks fine...
    Part 5. Inserted the boot DVD in another mac, made a copy via disk utility in mac os(without booting using this disc), copied it to external drive where the backup is. So there are 2 files on external drive: backup.dmg and starupDVD.dmg.
    Pulled in the external hdd to MBP and tried clicking option key to choose him to boot from HDD. Nothing happens, just mouse appears without any windows where i can choose the boot option. Weird. Tried all 3 usb ports, same problem. Tried to put the DVD disk and click option key - both mouse and window appears, but only DVD boot option avaivable.
    Tried to reset RAM by clicking Command-Option-P-R keys. Reset went fine(the sound and so on), but it didn't effect on anything.
    Part 6(this very moment): So here i am. Have erased internal HDD with 4 files in it(around 300 mb, dont know what), boot DVD which came along with MBP with 10.6.6 MaсOS, external HDD with the same DVD and backup.
    Disk utility says my internal HDD is ok.
    Clicking option key doesnt make my MBP see external HDD while it is plugged in any usb port, only mouse appears. Same option key sees dvd disk if it is plugged in and boots normally.
    You can see and work with external HDD if you boot from boot DVD.
    Installation process starts both fine on internal and external HDDs. On internal it crashed with "cant copy files" message at ~20-30%(~30 minutes left), on external the screen just turns grey with moveable mouse on it without any messages at around 30%(~40 minutes left).
    External HDD - Western Digital My Passport Essential SE 1TB USB 3.0
    Internal HDD - 256gb SSD which came from Apple (sorry for calling it internal HDD)
    Think its pretty much it...
    What should i do to make this thing work? Pretty much desperate already.
    Thank You for any help.
    Sincerely yours,
    Alexander.

    Just one more thing - the description of what i did while first Kernel appeared:
    Happened 2 days ago. Wasn't turning it off for like a day, only sleep mode by closing it. Worked fine all day, wasn't doing anything, except for checking mail 2-3 times and having windows 7 virtual machine opened but doing nothing, everything was going fine. Then closed it without turning off.
    Opened 3-4 hours later, everything was working fine for 30 minutes of checking mail, then Kernel appeared. After that pretty much everything i did is described in part 1-5.
    Note: all the time MBP was connected to internet via wifi, so updates to both MBP and virtual machine of all programs were possible.
    I only shared downloads and desktop folders, so windows couldn't have access to system folder of Mac Os.
    Hope this might help...Thanks again.

  • A problem with 3 exceptions from 1 method!!!

    I don't like it and I need advice on how to avoid it. I have been given an interface and am required to use ech of its methods. Here is what happened...
    The interface declares that when a record is searched for in the database and cant be found then a database exception must be thrown.
    When a operation is performed on a record it gets locked with a lock cookie and this cookie must be the same when the lock is released at the end of the operation or a Security Exception gets thrown.
    The file accessing itself throws IO exception which ofcourse has to be handled too.
    So far I have done the following(data level). I have a general databaseException which is a parent to all database exceptions. This means my Security and RecNotFound exceptions can be caught by one exception as they bubble up the stack. My IOException gets converted to a runtime exception and will be converted back to a checked exception in the GUI layer where I cater for all exceptions (The user does not see them).
    Moving on....
    In my service layer layer I have a business Exception to all business logic errors. Here is why it gets tricky...
    A record can not be booked if it is already booked. So I have a bookedRecException and the booking process involves locking the record(throws databaseException as mentioned). I also catch my RuntimeIOExceptions and throw them in my service layer up the stack as an IOException which gets handled in the GUI.
    As you can see this does not look good and I want to fix it. I thaught of making my databaseException into a IOE my service interface methods are all throwing DatabaseException AND IOExceptions.
    Edited by: Yucca on Apr 2, 2009 8:37 PM

    Yucca wrote:
    morgalr wrote:
    So what you are saying is: you don't want to deal with all the different exceptions?
    No what I am saying Is it's the SCJD and I am trying to avoid messy code with 3 exceptions. I am very much for custom exceptions where having a strongly typed exception tells you enough just by the fact that AlreadyBookedRecordException in your stack explains it all.That is not apparent from you post, what you seem to be saying is that you don't want them. In any case I've never found it messy to handle all exceptions individually, nor have I found it messy to use the method I mentioned.

  • Catching the exception thrown in a java class on a JSP front end

    I have a web service created in JAVA.. The modules throw certain exceptions and i am having auto generated JSP created from the WSDL's , which i can obviously edit. i want to catch these exceptions in this JSP page.. Any clue how to do this?
    Thanks.

    Nee333 wrote:
    I have a web service created in JAVA.. The modules throw certain exceptions and i am having auto generated JSP created from the WSDL's , which i can obviously edit. i want to catch these exceptions in this JSP page.. Any clue how to do this? It is not possible to catch the Exception in a JSP. You can however put any logging or even an if statement into your JSP to display the error or control the flow based on the error.

  • Catching an exception (help)!!!

    Hi everyone, the problem i have is when the user enters a number that is out of bounds (higher or lower than the excepted values it should prompt the program to write to the screen "out of range, try again" or something along those lines.
    However, it instead just prints "error - program terminated" which is the message that should be printed when there is a different problem within the program.
    Can anyone help me get the program to print the correct messages, you can see what i mean from the code:
    import java.io.*;
    import java.util.ArrayList;
    public class FlatCost { 
        ArrayList floors = new ArrayList();
        public FlatCost(String filename)  {   
            try    {     
                readDataFromFile(filename);
                BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
                int floor;
                int rooms;     
                String another = "y";     
                while(another.equalsIgnoreCase("y"))      {
                    System.out.print("\nEnter floor number (0 for ground): ");
                    floor = Integer.parseInt(in.readLine());      
                    if(floor < 0 || floor > floors.size())        {
                    System.out.println("floor out of range, try again");       
                else        {
                    System.out.print("\nEnter no. rooms: ");
                    rooms = Integer.parseInt(in.readLine());         
                    if(rooms < 0 || rooms > ((String[])floors.get(floor)).length)          {
                        System.out.println("rooms out of range, try again");         
                    else          {
                        System.out.println("\nThe cost of a "+rooms+"-room flat on floor "+floor+" is "+                                  
                        ((String[])floors.get(floor))[rooms+1]+" per month");
                        System.out.print("\nAnother? (y/n): ");
                        another = in.readLine();         
            catch(Exception e){
                System.out.println("error - program terminated");
    public void readDataFromFile(String filename)throws Exception {
    BufferedReader br = new BufferedReader(new FileReader(filename));
    String line = "";
    while((line = br.readLine()) != null)
    floors.add(line.split(" "));
    br.close();
    public static void main(String args[])throws IOException{
    new FlatCost(args[0]);
    }any help is appreciated
    thanks
    Sarah x

    I barely know where to begin.
    Start by printing out the stack trace when you catch an exception. That'll give you more information than the message you're printing out. You know the program is terminating - you need to know why.
    You're writing in a VERY procedural style. There's little or nothing object-oriented about what you're doing.
    You've got a bunch of stuff in that constructor that really doesn't belong there. You shouldn't have code to continuously ask a client for a floor and room number in a constructor. That really belongs in an application that drives the object, like the main method that you wrote.
    Your FlatCost can read in a file that contains floor/room/price information, but if I were writing the application I'd read it in and store it in the ArrayList as you've done. Then I'd have a getCost() method that would take floor and room count as parameters and return the total cost.
    Learning how to program is learning how to debug. I'd rewrite things a little bit and put System.out.println() statements into the code to narrow down exactly where the error was occurring and why. It won't take you long to figure it out. You don't even need a fancy debugger or IDE.

Maybe you are looking for

  • How can i open my iBook on my Mac, not just on my iPhone

    Hi, how can i open my iBook on my Mac, not just on my iPhone?  I ask this questions in hopes that I can eventually find a way to have the iPhone read a non "Enhanced" iBook to me. I used the Accessibility reader for a brief time but it's very persini

  • ITunes 10.3.1.55 not recognising iPhone 3gs/iPad 2

    Hi I hope someone can help! I updated to latest iTunes when I purchased iPad 2 and for three days all was fine.  I'm running a 64 bit laptop on Windows 7.  Yesterday the pc ran a windows update and installed some security changes, not sure if this wi

  • In which Table the Texts are maintained that are specified in VA02 T-code

    Hi Experts,              When sales order is created in VA02 then selecting in Goto-> Header-> Texts Option there texts are maintained. can anybody tell me where it is stored and how can we retrieve it into report. Thanks, Pankaj

  • How to get pagenumber of anchored Box

    In javascript, how to get page number of anchored textbox. if i gave "textframes[0].parent" means it shows an error. Thanks

  • Screen Configuration Missing

    Hello All, We have upgraded from CRM 4.0 to CRM 5.0. As a result SAP have deleted CRM001 (Sold-to Party) and created CRM000 (Sold-to Party). All the config. as part of the upgrade process seems to have been copied across except the screen configurati