# MemoryLimitExceededException

Artifact: [androidx.javascriptengine:javascriptengine](https://developer.android.com/jetpack/androidx/releases/javascriptengine) [View Source](https://cs.android.com/search?q=file:androidx/javascriptengine/MemoryLimitExceededException.java+class:androidx.javascriptengine.MemoryLimitExceededException) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/javascriptengine#1.0.0)

*** ** * ** ***


```
public final class MemoryLimitExceededException extends IsolateTerminatedException
```

<br />

|---|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||||||
| ↳ | [kotlin.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) |||||
|   | ↳ | [java.lang.Exception](https://developer.android.com/reference/java/lang/Exception.html) ||||
|   |   | ↳ | [androidx.javascriptengine.JavaScriptException](https://developer.android.com/reference/androidx/javascriptengine/JavaScriptException) |||
|   |   |   | ↳ | [androidx.javascriptengine.IsolateTerminatedException](https://developer.android.com/reference/androidx/javascriptengine/IsolateTerminatedException) ||
|   |   |   |   | ↳ | [androidx.javascriptengine.MemoryLimitExceededException](https://developer.android.com/reference/androidx/javascriptengine/MemoryLimitExceededException) |

*** ** * ** ***

Indicates that a JavaScriptIsolate's evaluation failed due to the isolate exceeding its heap size limit.

This exception may be thrown when exceeding the heap size limit configured for the isolate via `https://developer.android.com/reference/androidx/javascriptengine/IsolateStartupParameters`, or the default limit. Beware that it will not be thrown if the Android system as a whole has run out of memory before the JavaScript environment has reached its configured heap limit.

If an evaluation fails with a MemoryLimitExceededException, it does not imply that that particular evaluation was in any way responsible for any excessive memory usage. MemoryLimitExceededException will be raised for all unresolved and future requested evaluations regardless of their culpability.

An isolate may run out of memory outside of an explicit evaluation (such as in a microtask), so you should generally not use this exception to detect out of memory issues - instead, use `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptIsolate#addOnTerminatedCallback(java.util.concurrent.Executor,androidx.core.util.Consumer<androidx.javascriptengine.TerminationInfo>)` and check for an isolate termination status of `https://developer.android.com/reference/androidx/javascriptengine/TerminationInfo#STATUS_MEMORY_LIMIT_EXCEEDED()`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/javascriptengine/MemoryLimitExceededException#MemoryLimitExceededException()()` |
| `https://developer.android.com/reference/androidx/javascriptengine/MemoryLimitExceededException#MemoryLimitExceededException(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html error)` |

### Inherited methods

From [java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) `synchronized final void` `https://developer.android.com/reference/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable.html exception)` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#fillInStackTrace()()` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#getCause()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#getLocalizedMessage()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#getMessage()()` `StackTraceElement[]` `https://developer.android.com/reference/java/lang/Throwable.html#getStackTrace()()` `synchronized final Throwable[]` `https://developer.android.com/reference/java/lang/Throwable.html#getSuppressed()()` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#initCause(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable.html cause)` `void` `https://developer.android.com/reference/java/lang/Throwable.html#printStackTrace()()` `void` `https://developer.android.com/reference/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[])(StackTraceElement[] stackTrace)` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#toString()()`

## Public constructors

### MemoryLimitExceededException

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/javascriptengine#1.0.0)

```
public MemoryLimitExceededException()
```

### MemoryLimitExceededException

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/javascriptengine#1.0.0)

```
public MemoryLimitExceededException(@NonNull String error)
```