# Class ZooKeeperCriticalThread

java.lang.Object
java.lang.Thread
org.apache.zookeeper.server.ZooKeeperThread
org.apache.zookeeper.server.ZooKeeperCriticalThread

All Implemented Interfaces:
  `Runnable`

Direct Known Subclasses:
  `CommitProcessor, FollowerRequestProcessor, LearnerSender, ObserverRequestProcessor, PrepRequestProcessor, ReadOnlyRequestProcessor, RequestThrottler, SessionTrackerImpl, SyncRequestProcessor`

public class ZooKeeperCriticalThread extends ZooKeeperThread
Represents critical thread. When there is an uncaught exception thrown by the thread this will exit the system.

## Nested Class Summary

### Nested classes/interfaces inherited from class Thread

`Thread.State, Thread.UncaughtExceptionHandler`

## Field Summary

### Fields inherited from class Thread

`MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

## Constructor Summary

Constructors
Constructor
Description
`ZooKeeperCriticalThread(String threadName, ZooKeeperServerListener listener)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`handleException(String threadName, Throwable e)`
This will be used by the uncaught exception handler and make the system exit.

### Methods inherited from class Thread

`activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield`

### Methods inherited from class Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ZooKeeperCriticalThread

public ZooKeeperCriticalThread(String threadName, ZooKeeperServerListener listener)

## Method Details

### handleException

protected void handleException(String threadName, Throwable e)
This will be used by the uncaught exception handler and make the system exit.

Overrides:
  `handleException` in class `ZooKeeperThread`
Parameters:
  `threadName` - - thread name
  `e` - - exception object