There are times that my methods need to report the caller about many kinds of errors, represented as checked exceptions. This makes my methods look like very convoluted. It happens mostly when I work with stateless EJBs and databases. Sometimes I end throwing even 8 different exceptions! Are they too many?
Many of them inherit from common exceptions, so I've been tempted to throw the parent classes. But I've quickly discarded that option because I've read that it's a bad practice, since a method may throw only a subset of the children of that parent class, not all.
Finally, I've studied these possibilities:
1. Throwing the parent class (mentioned above).
2. Throwing a common exception with an error ID or code as message.
3. Throwing a common exception with an enum as member, as if it were an ID or code (safer than the #2).
All them show the same defect that the #1. However it's more a conceptual problem than a technical one, because my callers always use the same mechanism to treat every "specialization" of the same exception, without worrying about if the method really can return it or not.
I am just learning how to throw exceptions, and I'm stuck on the last part,
Here is where I created the exception that receives a string consisting of ID and wage.
public class EmployeeException extends Exception { public EmployeeException(String Employee) { super(Employee); } }
Here is where I created the Employee class with the two fields. I also believe I am throwing the exception if the hourly wage is < $6 or > $50.
public class Employee { int idNum; double hourlyWage; public void Employee(int empID, double empWage) throws EmployeeException { idNum = empID; hourlyWage = empWage;
[Code]...
Now, I need to write an application with three employees and display a message when an employee is successfully created or not. This is what I have so far... I'm trying to get it to work with one employee, and then I can easily go back and add two more.
import javax.swing.*; public class ThrowEmployee { public static void main (String[] args) { try { Employee one = new Employee(542, 15.20); }
[Code
The current compile error that I'm receiving is: ThrowEmployee.java:12: error: constructor Employee in class Employee cannot be applied to given types;
Employee one = new Employee(542, 15.20); ^ required: no arguments found: int,double reason: actual and formal argument lists differ in length 1 error
I have public void Employee(int empID, double empWage) in my Employee class, so why is it saying that no arguments are required? Not sure if I'm missing a step with throwing exceptions, because this error has always been a simple fix when I've come across it in the past?!?
import java.lang.*; class InvalidValueException extends IllegalArgumentException {} class InvalidKeyException extends IllegalArgumentException {} class BaseClass { void foo() throws IllegalArgumentException { throw new IllegalArgumentException();
[Code] .....
Which one of the following options correctly describes the behavior of this program? And the answer is (definitely) --> The program will print : InvalidKeyException exception, but when i saw the explanation, it tells
It is not necessary to provide an Exception thrown by a method when the method is overriding a method defined with an exception (using the throws clause).
I don't know, but i think it will compiled because the Exception that is thrown by the foo method in DeriDeri class is inherited from unchecked exception.. so it is not necessary to declare throws statement on its method.. and if the exception was checked exception the answer must be different right?
value1 = text1.getText(); value2 = text2.getText(); Connect c = new Connect(value1,value2); if(c.check()== true) { Menu start = new Menu(c.getID()); dispose();
[code].....
I get an error "unreported exception java.SQLException; must be caught or declared to be thrown" how can i solve this I have taken a few basic classes but never got to exceptions.
public class ThrowException { public static void main (String[] args) { var x=prompt("Enter a number between 0 and 10:",""); try { if (x>10){ throw "Err1"; } else if (x<0){ throw "Err2"; } else if (isNaN(x)){ throw "Err3"; } } catch(er){
[code]...
It's telling me where catch(er) is: <identifier> expected..I've watched videos, but no one seems to encounter this error....am I missing a segment of code?
imagine I build this this device that takes in impulses... 0 and 1..but I need an interface with buttons to decide when to throw a 0 or a 1...would java be a good language to control this?I'm having difficulty to make this path... interface to circuit...
Dice are used in many games. One die can be thrown to randomly show a value from 1 through 6.
Design a Die class that can hold an integer data field for a value (from1 to 6).
Include a constructor that randomly assigns a value to a die object. Appendix D contains information on generating randomnumbers. To fully understand the process, you must learn more about Java classes and methods. However, for now, you can copy the following statement to generate a random number between 1 and 6 and assign it to a variable. Using this statement assumes you have assigned appropriate values to the static constants.
Also include a method in the class to return a die's value. Save the class as
Die.java.
Write an application that randomly "throws" two dice and displays their values. After you read the chapter Making Decisions, you will be able to have the game determine the higher die. For now, just observe how the values change as you execute the program multiple times. Save the application as TwoDice.java.
@MappedSuperclass public abstract class BssStandardEntityLaravel extends BssStandardEntity implements InterfacciaBssStandardEntity, Cloneable{ private static final long serialVersionUID = 1L; @Column(name = "created_at", nullable=true) @Temporal(TemporalType.TIMESTAMP) protected Date created_at = new Date();
[Code] ....
When i try to read some data with a JPA controller, this error is raised:
Persistent class "com.bss.libbssabstract.database.entity.BssStandardEntityLaravel" has no table in the database, but the operation requires it. Please check the specification of the MetaData for this class. org.datanucleus.store.rdbms.exceptions.NoTableManagedException: Persistent class "com.bss.libbssabstract.database.entity.BssStandardEntityLaravel" has no table in the database, but the operation requires it. Please check the specification of the MetaData for this class. at org.datanucleus.store.rdbms.RDBMSStoreManager.getDatastoreClass(RDBMSStoreManager.java:702)
[Code] ....
It requires BssStandardEntityLaravel table like a normal entity. I used the same entity package in other applications and it works perfectly. Why this error is raised?
In my EJB modules, to prevent that any JPA exception is ever thrown, I check the condition that would cause the exception beforehand. For example, the exception javax.persistence.EntityExistsException is never thrown because, before persisting the entity, I check if such primary key already exists in the DB. Is it the right way to do this?
Another approach is too allow the JPA exceptions to be thrown and catch them in a try-catch block, and then throw my custom exception from the "catch" block. However it requires to call EntityManager.flush () at the end of the "try" block. Otherwise the exception throw could be deferred and never be caught by my block.
I'm writing a program that accepts three doubles from the user, and performs calculations on them. I want to be able to handle input mismatch exceptions on each individually (i.e., if the user enters a double for the first, then a letter for the second, I'd like to be able to keep the value entered for the first, and only require that the user try again with the second, then the third, etc.)... I tried putting each input instance into its own try/catch blocks, but it always goes back to #1 when an invalid input is entered. Right now, I have all three in one try/catch:
I'm wondering about the use of exceptions to handle errors that might occur during file I/O when the I/O is done by a method implementing an interface's method. The idea is for the interface to provide a uniform way for application code to read (and write, though I'm not addressing that in this post) a document from a file, given a File object that specifies the on-disk location of the document. The "document" can be an instance of any class the application programmer wants it to be, provided that it can be created from a file stored on disk. Here's the interface definition:
public interface DocumentRamrod<T> { public T openDocumentFile(File file) throws FileNotFoundException; }
A simple implementation, when T is a class that just holds a String, might look like this (Please overlook the fact that there is no call to the BufferedReader's close method, as it's not needed for this example.):
public class MyRamrod implements DocumentRamrod<OneLineOfText> { public OneLineOfText openDocumentFile(File file) throws FileNotFoundException { return new OneLineOfText(new BufferedReader(new FileReader(file)).readLine()); } }
But, that one line where the file is read (Line 5) might generate an IOException.To cope with it, I could add a try-catch to the implementation like this:
public class MyRamrod implements DocumentRamrod<OneLineOfText> { public OneLineOfText openDocumentFile(File file) throws FileNotFoundException { try { return new OneLineOfText(new BufferedReader(new FileReader(file)).readLine()); } catch (IOException ex) { Logger.getLogger(MyRamrod.class.getName()).log(Level.SEVERE, null, ex); } } }
Or, I could add that to the list of exceptions defined for the method in the interface, like this:
public interface DocumentRamrod<T> { public T openDocumentFile(File file) throws FileNotFoundException, IOException }
But that's where I'm getting nervous, as it makes me realize that, with an infinite number of possible implementations of openDocumentFile, I can't predict what all the exceptions thrown might be.should I have openDocumentFile simply throw Exception, and let the application programmer sort out which one(s) might actually be thrown, should I keep listing them as it become clear which ones are likely to be thrown, or should I not have openDocumentFile throw any exceptions and let the application programmer deal with it in the implementation of openDocumentFile (with try-catch blocks, etc.)? In Good Old C, I'd have passed back a null to indicate some general failure, with the various callers up the call-stack having to either deal with it or pass that back themselves (until some routine up the stack finally did deal with it), but that seems like an approach the whole exception mechanism was designed to avoid.
I'm thinking the right choice is to have openDocumentFile throw Exception, and let the application programmers decide which subclasses of Exception they really want to deal with. But I have learned to be humble about the things I think, where Java is concerned,
I am having some difficulties grasping the concept of throwing your own exceptions. How do I get this to repeatedly ask the user to enter a valid value for hours. Also i am having difficulties in the method with using the throw new InvalidHrExcep("That value is invalid"); i cannot get this to work.
public class exceptionProgram { static Scanner console = new Scanner(System.in); public static void main(String[] args) throws InvalidHrExcep { int day=0; int month = 0; int year=0; int hours=0; int minutes=0; int seconds=0;
class A { final Object b; public A(C c) { try { b = c.someMethodThatMayThrowSomeException(); } catch (SomeException e) { b = null; // This line results in compiler error: "variable b might already have been assigned" } } // take away b=null line and you get "variable b might not have been initialized" on this line }
Why? How could 'b' be assigned if the exception was thrown?
I got one task from my manager, regarding browser back button, refresh button. He asks me the web application has to work like Banks site... means if I refresh or click on Back button(Browser's) then it has to throw the user out of session, I checked lot in internet. But I found like only disabling back button of disabling F5 keys like that. But he’s not accepting that.
How to approach for this? Can we throw the user out of session when he clicks on browser back button or refresh button. I think its possible . But i don't know how to implement.
currently we can able to monitor all calls given to this class but whenever any exception thrown in this class hierarchy we are not able to track it on exceptions.jsp of JAMON
I am designing/coding a blackjack GUI program and I'm trying to add function to my JButtons. Problem is, I now have 2 NullPointerExceptions.
public class GameConsole { Player user; Player dealer; Deck playingDeck; ValidateInput validate = new ValidateInput();
[Code] .....
I am trying to do. I am getting the following exception/stack trace at line 14 in userTurn()
Exception in thread "main" java.lang.NullPointerException at blackjackControls.GameConsole.userTurn(GameConsole.java:163) at blackjackControls.GameConsole.gamePlay(GameConsole.java:87) at blackjackControls.Main.main(Main.java:7)
and then the program continues and after I click the button I get :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at blackjackControls.GameConsole.userTurn(GameConsole.java:163) at blackjackControls.ResultPanel$1.actionPerformed(ResultPanel.java:34) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028) //and then about 30 more "at" lines
Why am I getting these exceptions and how do I fix it?
I am having some serious difficulty getting my project off the ground. I have the following code:
FileInputStream file = new FileInputStream(new File("src/retestchecker/test_sheet.xlsx")); //Get the workbook instance for XLS file XSSFWorkbook workbook = new XSSFWorkbook(file); //Get first sheet from the workbook XSSFSheet sheet = workbook.getSheetAt(0); Row row = sheet.getRow(0); Cell x = row.getCell(3); System.out.println(x);
Everything is properly imported, etc etc.. But I am getting this error and I am not sure what it means:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException at retestchecker.RetestChecker.main(RetestChecker.java:23) Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
[Code] .....
Java Result: 1
I am using Netbeans and the latest version of Apache POI that was released May 11, 2015.
The line 23 that the error refers to is this line:
I'm trying to stress test JavaFX and I'm on Window 8.1 using 1.8.0_20-b26. I have an application that has many objects on the scene with animation timers and overall it purposefully runs very slow. I have listeners on the root AnchorPane for touch input and if I generate many touch point events after a few minutes I get "Too many touch points reported" exceptions (posted below) and the app of course no longer responds to touch input. Is it possible to catch the exception and then reset the scene touch input so it goes back to normal without restarting the application? If it lost any current touch input that's fine.
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: Too many touch points reported at javafx.scene.Scene$ScenePeerListener.touchEventNext(Scene.java:2686) at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleNextTouchEvent$346(GlassViewEventHandler.java:1090)
There is a method taken from a class with several try and catch blocks. If you think it is possible, add one more catch block to the code to catch all possible exceptions, otherwise say 'Not possible' with your reason.
I'd like to know how to return a new array, I wrote in a method below the main method. I want to print the array but system.out.print doesn't work for arrays apparently. What structure i should use?
I have to write a method called censor that gets an array of strings from the user as an argument and then returns an array of strings that contains all of the original strings in the same order except those with length of 4. For example if cat, dog, moose, lazy, with was entered, then it would return the exact same thing except for the words with and lazy.
Currently, my code so far just prints [Ljava.lang.String;@38cfdf and im stuck.
import java.util.Scanner; public class censorProgram { public static void main (String args[]){ Scanner input = new Scanner (System.in); System.out.println ("How many words would you like to enter?"); int lineOfText = input.nextInt();
[Code] ....
I have to make new string array in the method and return words without four letters in the main method