omero
Overview
module omero
Exceptions thrown by OMERO server components. Exceptions thrown client side
are available defined in each language binding separately, but will usually
subclass from "ClientError" For more information, see:
https://trac.openmicroscopy.org.uk/ome/wiki/ExceptionHandling
including examples of what a appropriate try/catch block would look like.
All exceptions that are thrown by a remote call (any call on a *Prx instance)
will be either a subclass of Ice::UserException or Ice::LocalException.
Inheritance Hierarchy for Exceptions
from the Ice manual shows the entire exception hierarchy. The exceptions described in
this file will subclass from Ice::UserException. Other Ice-runtime exceptions subclass
from Ice::LocalException.
OMERO Specific:
===============
ServerError (root server exception)
|
|_ InternalException (server bug)
|
|_ ResourceError (non-recoverable)
| \_ NoProcessorAvailable
|
|_ ConcurrencyException (recoverable)
| |_ ConcurrentModification (data was changed)
| |_ OptimisticLockException (changed data conflicts)
| |_ LockTimeout (took too long to aquire lock)
| |_ TryAgain (some processing required before server is ready)
| \_ TooManyUsersException
| \_ DatabaseBusyException
|
|_ ApiUsageException (misuse of services)
| |_ OverUsageException (too much)
| |_ QueryException (bad query string)
| |_ ValidationException (bad data)
| |_ ChecksumValidationException (checksum mismatch)
| \_ FilePathNamingException (repository path badly named)
|
|_ SecurityViolation (some no-no)
| \_ GroupSecurityViolation
| |_ PermissionMismatchGroupSecurityViolation
| \_ ReadOnlyGroupSecurityViolation
|
\_SessionException
|_ RemovedSessionException (accessing a non-extant session)
|_ SessionTimeoutException (session timed out; not yet removed)
\_ ShutdownInProgress (session on this server will most likely be destroyed)
However, in addition to Ice::LocalException subclasses, the Ice runtime also
defines subclasses of Ice::UserException. In some cases, OMERO subclasses
from these exceptions. The subclasses shown below are not exhaustive, but show those
which an application's exception handler may want to deal with.
Ice::Exception (root of all Ice exceptions)
|
|_ Ice::UserException (super class of all application exceptions)
| |
| |_ Glacier2::CannotCreateSessionException (1 of 2 exceptions throwable by createSession)
| | |_ omero::AuthenticationException (bad login)
| | |_ omero::ExpiredCredentialException (old password)
| | |_ omero::WrappedCreateSessionException (any other server error during createSession)
| | \_ omero::licenses::NoAvailableLicensesException (see tools/licenses/resources/omero/LicensesAPI.ice)
| |
| \_ Glacier2::PermissionDeniedException (other of 2 exceptions throwable by createSession)
|
\_ Ice::LocalException (should generally be considered fatal. See exceptions below)
|
|_ Ice::ProtocolException (something went wrong on the wire. Wrong version?)
|
|_ Ice::RequestFailedException
| |_ ObjectNotExistException (Service timeout or similar?)
| \_ OperationNotExistException (Improper use of uncheckedCast?)
|
|_ Ice::UnknownException (server threw an unexpected exception. Bug!)
|
\_ Ice::TimeoutException
\_ Ice::ConnectTimeoutException (Couldn't establish a connection. Retry?)
Module Index
- api
-
The omero::api module defines all the central verbs for working with OMERO.blitz.
- cmd
-
Simplified API that is intended for passing
- constants
-
Most client-intended constants are provided in this module.
- grid
-
RGBA-color packed into a single long.
- metadatastore
-
Types used during import.
- model
-
- romio
-
Primitives for working with binary data.
- sys
-
Class Index
- Color
-
RGBA-color packed into a single long.
- Internal
-
Base class similar to model::IObject but for non-model-objects.
- Plane
-
Sequences cannot subclass other types, so the Plane
class extends {@code Internal} and wraps a {@code Bytes2D} instance.
- Point
-
XY-point in space.
- RArray
-
{@code RCollection} mapped to an array on the server of a type given
by a random member of the RTypeSeq.
- RBool
-
Boolean wrapper.
- RClass
-
Extends RString and simply provides runtime
information to the server that this string
is intended as a ""protected"" class parameter.
- RCollection
-
The collection ""protected"" classes permit the passing of sequences of all
other RTypes (including other collections) and it is itself nullable.
- RDouble
-
Double wrapper.
- RFloat
-
Float wrapper.
- RInt
-
Integer wrapper.
- RInternal
-
Base type for RTypes whose contents will not be parsed by
the server.
- RList
-
{@code RCollection} mapped to a java.util.List on the server
- RLong
-
Long Wrapper.
- RMap
-
Similar to {@code RCollection}, the {@code RMap} class permits the passing
of a possible null {@code RTypeDict} where any other {@code RType} is
expected.
- RObject
-
Wrapper for an model::IObject instance.
- RSet
-
{@code RCollection} mapped to a java.util.HashSet on the server
- RString
-
String wrapper.
- RTime
-
A simple Time implementation.
- RType
-
Simple base ""protected"" class.
Exception Index
- ApiUsageException
-
- AuthenticationException
-
Thrown when the information provided omero.createSession() or more
specifically Glacier2.RouterPrx.createSession() is incorrect.
- ChecksumValidationException
-
- ConcurrencyException
-
Recoverable error caused by simultaneous access of some form.
- ConcurrentModification
-
Currently unused.
- DatabaseBusyException
-
Too many simultaneous database users.
- ExpiredCredentialException
-
Thrown when the password for a user has expired.
- FilePathNamingException
-
- GroupSecurityViolation
-
- InternalException
-
Programmer error.
- LockTimeout
-
Lock cannot be acquired and has timed out.
- MissingPyramidException
-
- NoProcessorAvailable
-
A script cannot be executed because no matching processor
was found.
- OmeroFSError
-
OmeroFSError
Just one catch-all UserException for the present.
- OptimisticLockException
-
Conflicting changes to the same piece of data.
- OverUsageException
-
- PermissionMismatchGroupSecurityViolation
-
- QueryException
-
- ReadOnlyGroupSecurityViolation
-
- RemovedSessionException
-
Session has been removed.
- ResourceError
-
Unrecoverable error.
- SecurityViolation
-
- ServerError
-
- SessionException
-
Base session exception, though in the OMERO.blitz
implementation, all exceptions thrown by the Glacier2
must subclass CannotCreateSessionException.
- SessionTimeoutException
-
Session has timed out and will be removed.
- ShutdownInProgress
-
Server is in the progress of shutting down which will
typically lead to the current session being closed.
- TryAgain
-
Background processing needed before server is ready
- ValidationException
-
- WrappedCreateSessionException
-
Thrown when any other server exception causes the session creation to fail.
Sequence Index
- Bytes2D
-
Simple 2D array of bytes.
- RTypeSeq
-
Simple sequence of {@code RType} instances.
- RTypeSeqSeq
-
Dictionary Index
- RTypeDict
-
Simple dictionary of {@code RType} instances.
Sequences
-
sequence<::Ice::ByteSeq> Bytes2D
-
Simple 2D array of bytes.
Used By
- Plane::data
-
[ "java:type:java.util.ArrayList:java.util.List" ]
sequence<RType> RTypeSeq
-
Simple sequence of {@code RType} instances. Note: when passing
an {@code RTypeSeq} over the wire, null sequence is maintained and
will be turned into an empty sequence. If nullability is
required, see the {@code RCollection} types.
Used By
- RTypeSeqSeq
- RCollection::addAll
- RCollection::getValue
- RCollection::val
See Also
- RCollection
-
[ "java:type:java.util.ArrayList>:java.util.List>" ]
sequence<RTypeSeq> RTypeSeqSeq
-
Used By
- api::IQuery::projection
Dictionaries
-
[ "java:type:java.util.HashMap" ]
dictionary<string, RType> RTypeDict
-
Simple dictionary of {@code RType} instances. Note: when passing
an RTypeDict over the wire, a null map will not be maintained and
will be turned into an empty map. If nullability is
required, see the {@code RMap} type.
Used By
- RMap::getValue
- RMap::val
- api::RTypeDictArray
- api::IScript::getScriptWithDetails
- api::IScript::runScript
- api::ISession::getInputs
- api::ISession::getOutputs
- cmd::OriginalMetadataResponse::globalMetadata
- cmd::OriginalMetadataResponse::seriesMetadata
- grid::ScriptProcess::getResults
- grid::Table::getAllMetadata
- grid::Table::getWhereList
- grid::Table::setAllMetadata