Where can I find a list of Exceptions that I am allowed to throw?

H

H.

For example, IllegalArgumentException, etc.

I am relatively new to Java...I browsed through the docs, but couldn't
quite find what I'm looking for, which is, simply put, the built-in
Java exceptions that I, as a programmer, am allowed to throw...
 
K

Karl Uppiano

H. said:
For example, IllegalArgumentException, etc.

I am relatively new to Java...I browsed through the docs, but couldn't
quite find what I'm looking for, which is, simply put, the built-in
Java exceptions that I, as a programmer, am allowed to throw...

You can throw anything you want, as long as it extends java.lang.Throwable
(http://java.sun.com/javase/6/docs/api/java/lang/Throwable.html). You can
create your own. Normally, people extend java.lang.Exception, and often they
extend standard exceptions that have the semantics nearest to their error
situation (e.g., java.io.IOException). It would be practically impossible to
create a list that enumerates every Java exception ever created.

java.lang.Exception
(http://java.sun.com/javase/6/docs/api/java/lang/Exception.html) lists most
of the known descendants of Exceptions defined in the core Java libraries.

java.lang.RuntimeException
(http://java.sun.com/javase/6/docs/api/java/lang/RuntimeException.html)
lists most of the known unchecked exceptions defined in the core Java
libraries.

Finally, JavaDoc, by default, generates a list of exceptions defined for
every package. It shows up near the bottom of the lower left pane when
viewing JavaDocs in frames mode.
 
H

H.

Finally, JavaDoc, by default, generates a list of exceptions defined for
every package. It shows up near the bottom of the lower left pane when
viewing JavaDocs in frames mode.

I should have clarified. What I'm looking for is a list of exceptions
that are already created. While I could create my own, I'd rather use
something that already exists, if possible.
 
P

Patricia Shanahan

H. said:
I should have clarified. What I'm looking for is a list of exceptions
that are already created. While I could create my own, I'd rather use
something that already exists, if possible.

Every exception that already exists is part of some package. Look in the
API javadocs, near the bottom of the lower left pane for e.g. the
java.lang package.

Patricia
 
L

Lew

Patricia said:
Every exception that already exists is part of some package. Look in the
API javadocs, near the bottom of the lower left pane for e.g. the
java.lang package.

Or leave the package selection at "All Classes" and spend some time going
through every class description to see which are exceptions.

All these approaches will only give you the list of exceptions in the java.
and javax. packacge. It is hardly practical to create a list of all the
exceptions so far created. For one thing, as soon as I hear that such a list
is being compiled, I'll start writing more just to keep that list out of date.

-- Lew
 
C

Chris Uppal

H. said:
I should have clarified. What I'm looking for is a list of exceptions
that are already created. While I could create my own, I'd rather use
something that already exists, if possible.

Here's a list of all the public subclasses of java.lang.Throwable that are
defined in a 1.6 JRE and are in packages under java.* or javax.*.

I doubt if it's much use, but it may indicate /why/ such a list isn't much use.

-- chris

java.awt.AWTError
java.awt.AWTException
java.awt.FontFormatException
java.awt.HeadlessException
java.awt.IllegalComponentStateException
java.awt.color.CMMException
java.awt.color.ProfileDataException
java.awt.datatransfer.MimeTypeParseException
java.awt.datatransfer.UnsupportedFlavorException
java.awt.dnd.InvalidDnDOperationException
java.awt.geom.IllegalPathStateException
java.awt.geom.NoninvertibleTransformException
java.awt.image.ImagingOpException
java.awt.image.RasterFormatException
java.awt.print.PrinterAbortException
java.awt.print.PrinterException
java.awt.print.PrinterIOException
java.beans.IntrospectionException
java.beans.PropertyVetoException
java.io.CharConversionException
java.io.EOFException
java.io.FileNotFoundException
java.io.IOError
java.io.IOException
java.io.InterruptedIOException
java.io.InvalidClassException
java.io.InvalidObjectException
java.io.NotActiveException
java.io.NotSerializableException
java.io_ObjectStreamException
java.io_OptionalDataException
java.io.StreamCorruptedException
java.io.SyncFailedException
java.io.UTFDataFormatException
java.io.UnsupportedEncodingException
java.io.WriteAbortedException
java.lang.AbstractMethodError
java.lang.ArithmeticException
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayStoreException
java.lang.AssertionError
java.lang.ClassCastException
java.lang.ClassCircularityError
java.lang.ClassFormatError
java.lang.ClassNotFoundException
java.lang.CloneNotSupportedException
java.lang.EnumConstantNotPresentException
java.lang.Error
java.lang.Exception
java.lang.ExceptionInInitializerError
java.lang.IllegalAccessError
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalMonitorStateException
java.lang.IllegalStateException
java.lang.IllegalThreadStateException
java.lang.IncompatibleClassChangeError
java.lang.IndexOutOfBoundsException
java.lang.InstantiationError
java.lang.InstantiationException
java.lang.InternalError
java.lang.InterruptedException
java.lang.LinkageError
java.lang.NegativeArraySizeException
java.lang.NoClassDefFoundError
java.lang.NoSuchFieldError
java.lang.NoSuchFieldException
java.lang.NoSuchMethodError
java.lang.NoSuchMethodException
java.lang.NullPointerException
java.lang.NumberFormatException
java.lang.OutOfMemoryError
java.lang.RuntimeException
java.lang.SecurityException
java.lang.StackOverflowError
java.lang.StringIndexOutOfBoundsException
java.lang.ThreadDeath
java.lang.Throwable
java.lang.TypeNotPresentException
java.lang.UnknownError
java.lang.UnsatisfiedLinkError
java.lang.UnsupportedClassVersionError
java.lang.UnsupportedOperationException
java.lang.VerifyError
java.lang.VirtualMachineError
java.lang.annotation.AnnotationFormatError
java.lang.annotation.AnnotationTypeMismatchException
java.lang.annotation.IncompleteAnnotationException
java.lang.instrument.IllegalClassFormatException
java.lang.instrument.UnmodifiableClassException
java.lang.reflect.GenericSignatureFormatError
java.lang.reflect.InvocationTargetException
java.lang.reflect.MalformedParameterizedTypeException
java.lang.reflect.UndeclaredThrowableException
java.net.BindException
java.net.ConnectException
java.net.HttpRetryException
java.net.MalformedURLException
java.net.NoRouteToHostException
java.net.PortUnreachableException
java.net.ProtocolException
java.net.SocketException
java.net.SocketTimeoutException
java.net.URISyntaxException
java.net.UnknownHostException
java.net.UnknownServiceException
java.nio.BufferOverflowException
java.nio.BufferUnderflowException
java.nio.InvalidMarkException
java.nio.ReadOnlyBufferException
java.nio.channels.AlreadyConnectedException
java.nio.channels.AsynchronousCloseException
java.nio.channels.CancelledKeyException
java.nio.channels.ClosedByInterruptException
java.nio.channels.ClosedChannelException
java.nio.channels.ClosedSelectorException
java.nio.channels.ConnectionPendingException
java.nio.channels.FileLockInterruptionException
java.nio.channels.IllegalBlockingModeException
java.nio.channels.IllegalSelectorException
java.nio.channels.NoConnectionPendingException
java.nio.channels.NonReadableChannelException
java.nio.channels.NonWritableChannelException
java.nio.channels.NotYetBoundException
java.nio.channels.NotYetConnectedException
java.nio.channels.OverlappingFileLockException
java.nio.channels.UnresolvedAddressException
java.nio.channels.UnsupportedAddressTypeException
java.nio.charset.CharacterCodingException
java.nio.charset.CoderMalfunctionError
java.nio.charset.IllegalCharsetNameException
java.nio.charset.MalformedInputException
java.nio.charset.UnmappableCharacterException
java.nio.charset.UnsupportedCharsetException
java.rmi.AccessException
java.rmi.AlreadyBoundException
java.rmi.ConnectException
java.rmi.ConnectIOException
java.rmi.MarshalException
java.rmi.NoSuchObjectException
java.rmi.NotBoundException
java.rmi.RMISecurityException
java.rmi.RemoteException
java.rmi.ServerError
java.rmi.ServerException
java.rmi.ServerRuntimeException
java.rmi.StubNotFoundException
java.rmi.UnexpectedException
java.rmi.UnknownHostException
java.rmi.UnmarshalException
java.rmi.activation.ActivateFailedException
java.rmi.activation.ActivationException
java.rmi.activation.UnknownGroupException
java.rmi.activation.UnknownObjectException
java.rmi.server.ExportException
java.rmi.server.ServerCloneException
java.rmi.server.ServerNotActiveException
java.rmi.server.SkeletonMismatchException
java.rmi.server.SkeletonNotFoundException
java.rmi.server.SocketSecurityException
java.security.AccessControlException
java.security.DigestException
java.security.GeneralSecurityException
java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyException
java.security.InvalidParameterException
java.security.KeyException
java.security.KeyManagementException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
java.security.PrivilegedActionException
java.security.ProviderException
java.security.SignatureException
java.security.UnrecoverableEntryException
java.security.UnrecoverableKeyException
java.security.acl.AclNotFoundException
java.security.acl.LastOwnerException
java.security.acl.NotOwnerException
java.security.cert.CRLException
java.security.cert.CertPathBuilderException
java.security.cert.CertPathValidatorException
java.security.cert.CertStoreException
java.security.cert.CertificateEncodingException
java.security.cert.CertificateException
java.security.cert.CertificateExpiredException
java.security.cert.CertificateNotYetValidException
java.security.cert.CertificateParsingException
java.security.spec.InvalidKeySpecException
java.security.spec.InvalidParameterSpecException
java.sql.BatchUpdateException
java.sql.DataTruncation
java.sql.SQLClientInfoException
java.sql.SQLDataException
java.sql.SQLException
java.sql.SQLFeatureNotSupportedException
java.sql.SQLIntegrityConstraintViolationException
java.sql.SQLInvalidAuthorizationSpecException
java.sql.SQLNonTransientConnectionException
java.sql.SQLNonTransientException
java.sql.SQLRecoverableException
java.sql.SQLSyntaxErrorException
java.sql.SQLTimeoutException
java.sql.SQLTransactionRollbackException
java.sql.SQLTransientConnectionException
java.sql.SQLTransientException
java.sql.SQLWarning
java.text.ParseException
java.util.ConcurrentModificationException
java.util.DuplicateFormatFlagsException
java.util.EmptyStackException
java.util.FormatFlagsConversionMismatchException
java.util.FormatterClosedException
java.util.IllegalFormatCodePointException
java.util.IllegalFormatConversionException
java.util.IllegalFormatException
java.util.IllegalFormatFlagsException
java.util.IllegalFormatPrecisionException
java.util.IllegalFormatWidthException
java.util.InputMismatchException
java.util.InvalidPropertiesFormatException
java.util.MissingFormatArgumentException
java.util.MissingFormatWidthException
java.util.MissingResourceException
java.util.NoSuchElementException
java.util.ServiceConfigurationError
java.util.TooManyListenersException
java.util.UnknownFormatConversionException
java.util.UnknownFormatFlagsException
java.util.concurrent.BrokenBarrierException
java.util.concurrent.CancellationException
java.util.concurrent.ExecutionException
java.util.concurrent.RejectedExecutionException
java.util.concurrent.TimeoutException
java.util.jar.JarException
java.util.prefs.BackingStoreException
java.util.prefs.InvalidPreferencesFormatException
java.util.regex.PatternSyntaxException
java.util.zip.DataFormatException
java.util.zip.ZipError
java.util.zip.ZipException
javax.activation.MimeTypeParseException
javax.activation.UnsupportedDataTypeException
javax.activity.ActivityCompletedException
javax.activity.ActivityRequiredException
javax.activity.InvalidActivityException
javax.annotation.processing.FilerException
javax.crypto.BadPaddingException
javax.crypto.ExemptionMechanismException
javax.crypto.IllegalBlockSizeException
javax.crypto.NoSuchPaddingException
javax.crypto.ShortBufferException
javax.imageio.IIOException
javax.imageio.metadata.IIOInvalidTreeException
javax.jnlp.UnavailableServiceException
javax.lang.model.element.UnknownAnnotationValueException
javax.lang.model.element.UnknownElementException
javax.lang.model.type.MirroredTypeException
javax.lang.model.type.MirroredTypesException
javax.lang.model.type.UnknownTypeException
javax.management.AttributeNotFoundException
javax.management.BadAttributeValueExpException
javax.management.BadBinaryOpValueExpException
javax.management.BadStringOperationException
javax.management.InstanceAlreadyExistsException
javax.management.InstanceNotFoundException
javax.management.IntrospectionException
javax.management.InvalidApplicationException
javax.management.InvalidAttributeValueException
javax.management.JMException
javax.management.JMRuntimeException
javax.management.ListenerNotFoundException
javax.management.MBeanException
javax.management.MBeanRegistrationException
javax.management.MalformedObjectNameException
javax.management.NotCompliantMBeanException
javax.management.OperationsException
javax.management.ReflectionException
javax.management.RuntimeErrorException
javax.management.RuntimeMBeanException
javax.management.RuntimeOperationsException
javax.management.ServiceNotFoundException
javax.management.modelmbean.InvalidTargetObjectTypeException
javax.management.modelmbean.XMLParseException
javax.management.monitor.MonitorSettingException
javax.management.openmbean.InvalidKeyException
javax.management.openmbean.InvalidOpenTypeException
javax.management.openmbean.KeyAlreadyExistsException
javax.management.openmbean.OpenDataException
javax.management.relation.InvalidRelationIdException
javax.management.relation.InvalidRelationServiceException
javax.management.relation.InvalidRelationTypeException
javax.management.relation.InvalidRoleInfoException
javax.management.relation.InvalidRoleValueException
javax.management.relation.RelationException
javax.management.relation.RelationNotFoundException
javax.management.relation.RelationServiceNotRegisteredException
javax.management.relation.RelationTypeNotFoundException
javax.management.relation.RoleInfoNotFoundException
javax.management.relation.RoleNotFoundException
javax.management.remote.JMXProviderException
javax.management.remote.JMXServerErrorException
javax.naming.AuthenticationException
javax.naming.AuthenticationNotSupportedException
javax.naming.CannotProceedException
javax.naming.CommunicationException
javax.naming.ConfigurationException
javax.naming.ContextNotEmptyException
javax.naming.InsufficientResourcesException
javax.naming.InterruptedNamingException
javax.naming.InvalidNameException
javax.naming.LimitExceededException
javax.naming.LinkException
javax.naming.LinkLoopException
javax.naming.MalformedLinkException
javax.naming.NameAlreadyBoundException
javax.naming.NameNotFoundException
javax.naming.NamingException
javax.naming.NamingSecurityException
javax.naming.NoInitialContextException
javax.naming.NoPermissionException
javax.naming.NotContextException
javax.naming.OperationNotSupportedException
javax.naming.PartialResultException
javax.naming.ReferralException
javax.naming.ServiceUnavailableException
javax.naming.SizeLimitExceededException
javax.naming.TimeLimitExceededException
javax.naming.directory.AttributeInUseException
javax.naming.directory.AttributeModificationException
javax.naming.directory.InvalidAttributeIdentifierException
javax.naming.directory.InvalidAttributeValueException
javax.naming.directory.InvalidAttributesException
javax.naming.directory.InvalidSearchControlsException
javax.naming.directory.InvalidSearchFilterException
javax.naming.directory.NoSuchAttributeException
javax.naming.directory.SchemaViolationException
javax.naming.ldap.LdapReferralException
javax.net.ssl.SSLException
javax.net.ssl.SSLHandshakeException
javax.net.ssl.SSLKeyException
javax.net.ssl.SSLPeerUnverifiedException
javax.net.ssl.SSLProtocolException
javax.print.PrintException
javax.print.attribute.UnmodifiableSetException
javax.script.ScriptException
javax.security.auth.DestroyFailedException
javax.security.auth.RefreshFailedException
javax.security.auth.callback.UnsupportedCallbackException
javax.security.auth.login.AccountException
javax.security.auth.login.AccountExpiredException
javax.security.auth.login.AccountLockedException
javax.security.auth.login.AccountNotFoundException
javax.security.auth.login.CredentialException
javax.security.auth.login.CredentialExpiredException
javax.security.auth.login.CredentialNotFoundException
javax.security.auth.login.FailedLoginException
javax.security.auth.login.LoginException
javax.security.cert.CertificateEncodingException
javax.security.cert.CertificateException
javax.security.cert.CertificateExpiredException
javax.security.cert.CertificateNotYetValidException
javax.security.cert.CertificateParsingException
javax.security.sasl.AuthenticationException
javax.security.sasl.SaslException
javax.smartcardio.CardException
javax.smartcardio.CardNotPresentException
javax.sound.midi.InvalidMidiDataException
javax.sound.midi.MidiUnavailableException
javax.sound.sampled.LineUnavailableException
javax.sound.sampled.UnsupportedAudioFileException
javax.sql.rowset.RowSetWarning
javax.sql.rowset.serial.SerialException
javax.sql.rowset.spi.SyncFactoryException
javax.sql.rowset.spi.SyncProviderException
javax.swing.UnsupportedLookAndFeelException
javax.swing.text.BadLocationException
javax.swing.text.ChangedCharSetException
javax.swing.tree.ExpandVetoException
javax.swing.undo.CannotRedoException
javax.swing.undo.CannotUndoException
javax.transaction.InvalidTransactionException
javax.transaction.TransactionRequiredException
javax.transaction.TransactionRolledbackException
javax.transaction.xa.XAException
javax.xml.bind.JAXBException
javax.xml.bind.MarshalException
javax.xml.bind.PropertyException
javax.xml.bind.TypeConstraintException
javax.xml.bind.UnmarshalException
javax.xml.bind.ValidationException
javax.xml.crypto.KeySelectorException
javax.xml.crypto.MarshalException
javax.xml.crypto.NoSuchMechanismException
javax.xml.crypto.URIReferenceException
javax.xml.crypto.dsig.TransformException
javax.xml.crypto.dsig.XMLSignatureException
javax.xml.datatype.DatatypeConfigurationException
javax.xml.parsers.FactoryConfigurationError
javax.xml.parsers.ParserConfigurationException
javax.xml.soap.SOAPException
javax.xml.stream.FactoryConfigurationError
javax.xml.stream.XMLStreamException
javax.xml.transform.TransformerConfigurationException
javax.xml.transform.TransformerException
javax.xml.transform.TransformerFactoryConfigurationError
javax.xml.ws.ProtocolException
javax.xml.ws.WebServiceException
javax.xml.ws.http.HTTPException
javax.xml.ws.soap.SOAPFaultException
javax.xml.xpath.XPathException
javax.xml.xpath.XPathExpressionException
javax.xml.xpath.XPathFactoryConfigurationException
javax.xml.xpath.XPathFunctionException
 
O

Oliver Wong

H. said:
For example, IllegalArgumentException, etc.

I am relatively new to Java...I browsed through the docs, but couldn't
quite find what I'm looking for, which is, simply put, the built-in
Java exceptions that I, as a programmer, am allowed to throw...

The way you phrase your question makes it sound like you think there
exists some exceptions which you are not allowed to throw. This is not the
case. Is there perhaps an error message you're receiving that you're
trying to understand and/or get rid of?

You might want to read
http://java.sun.com/docs/books/tutorial/essential/exceptions/ and in
particular focus on the difference between checked and unchecked
exceptions.

- Oliver
 
G

Greg R. Broderick

For example, IllegalArgumentException, etc.

I am relatively new to Java...I browsed through the docs, but couldn't
quite find what I'm looking for, which is, simply put, the built-in
Java exceptions that I, as a programmer, am allowed to throw...

If you are programming to a predefined interface, then look at the
interface's definition of the method you are implementing. It should have
a throws clause that lists which checked exceptions that implementations of
the method can throw.

Example:

interface Foo
{
void bar()
throws ClassNotFoundException, NoSuchFieldException
}


If you're implementing a method on your own, without an interface, then you
may throw any checked exception that you put in the method's throws clause.

In either case, you may throw any sort of unchecked exception (an exception
that derives from java.lang.RuntimeException) at any time, without that
specific sort of exception being explicitly enumerated in a throws clause
for the method. It is Very Good Form(tm), however, to enumerate the
unchecked exceptions that a method can throw in that method's Javadoc.

As others have already told you, you can find a listing of various
Exception types in the Javadoc for the Java Development Kit. Start reading
at java.lang.Exception, and pay especial attention to the listed Direct
Known Subclasses.

Cheers!



--
---------------------------------------------------------------------
Greg R. Broderick (e-mail address removed)

A. Top posters.
Q. What is the most annoying thing on Usenet?
---------------------------------------------------------------------
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,011
Latest member
AjaUqq1950

Latest Threads

Top