# CheckScriptSyntaxAsync Method

## Overloads

| [CheckScriptSyntaxAsync()](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm#Qlik_Engine_IApp_CheckScriptSyntaxAsync) |  | Checks the syntax of a script.<br><br>Example<br><br>"result": { "qErrors": [ { "qErrLen": 3, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 0, "qTextPos": 0 }, { "qErrLen": 5, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 1, "qTextPos": 4, "qSecondaryFailure": true } ] }<br><br>The list of syntax errors in the script.<br><br>If there are no errors, the engine returns:<br><br>If there are errors, the engine returns the following properties in the response:<br><br>Please refer to Engine API reference for table definition. |
| --- | --- | --- |
| [CheckScriptSyntaxAsync(AsyncHandle)](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm#Qlik_Engine_IApp_CheckScriptSyntaxAsync_Qlik_Engine_AsyncHandle_) |  | Checks the syntax of a script.<br><br>Example<br><br>"result": { "qErrors": [ { "qErrLen": 3, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 0, "qTextPos": 0 }, { "qErrLen": 5, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 1, "qTextPos": 4, "qSecondaryFailure": true } ] }<br><br>The list of syntax errors in the script.<br><br>If there are no errors, the engine returns:<br><br>If there are errors, the engine returns the following properties in the response:<br><br>Please refer to Engine API reference for table definition. |
| [CheckScriptSyntaxAsync<T>(AsyncHandle, Func<Response, T>)](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm#Qlik_Engine_IApp_CheckScriptSyntaxAsync__1_Qlik_Engine_AsyncHandle_System_Func_Qlik_Engine_Communication_IO_Response___0__) |  | Checks the syntax of a script.<br><br>Example<br><br>"result": { "qErrors": [ { "qErrLen": 3, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 0, "qTextPos": 0 }, { "qErrLen": 5, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 1, "qTextPos": 4, "qSecondaryFailure": true } ] }<br><br>The list of syntax errors in the script.<br><br>If there are no errors, the engine returns:<br><br>If there are errors, the engine returns the following properties in the response:<br><br>Please refer to Engine API reference for table definition. |

[](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm) [](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm)

## CheckScriptSyntaxAsync()

Checks the syntax of a script.

#### Example

"result": { "qErrors": [ { "qErrLen": 3, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 0, "qTextPos": 0 }, { "qErrLen": 5, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 1, "qTextPos": 4, "qSecondaryFailure": true } ] }

The list of syntax errors in the script.

If there are no errors, the engine returns:

If there are errors, the engine returns the following properties in the response:

Please refer to Engine API reference for table definition.

### Declaration

```

          Task<IEnumerable<ScriptSyntaxError>> CheckScriptSyntaxAsync()
    
  
```

### Returns

| Type | Description |
| --- | --- |
| System.Threading.Tasks.Task&lt;System.Collections.Generic.IEnumerable&lt;[ScriptSyntaxError](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/NetSDKAPIref/Content/Qlik.Engine.ScriptSyntaxError.htm)&gt;&gt; |  |

### Remarks

The first area is the primary error area, the second area is the secondary error area. The second area is optional and is shown only if qSecondaryFailure is set to true. The second area ends when the next statement in the script begins.

[](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm) [](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm)

## CheckScriptSyntaxAsync(AsyncHandle)

Checks the syntax of a script.

#### Example

"result": { "qErrors": [ { "qErrLen": 3, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 0, "qTextPos": 0 }, { "qErrLen": 5, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 1, "qTextPos": 4, "qSecondaryFailure": true } ] }

The list of syntax errors in the script.

If there are no errors, the engine returns:

If there are errors, the engine returns the following properties in the response:

Please refer to Engine API reference for table definition.

### Declaration

```

          Task<IEnumerable<ScriptSyntaxError>> CheckScriptSyntaxAsync(AsyncHandle asyncHandle)
    
  
```

### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [AsyncHandle](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/NetSDKAPIref/Content/Qlik.Engine.AsyncHandle.htm) | asyncHandle | Handle to asynchronous method request |

### Returns

| Type | Description |
| --- | --- |
| System.Threading.Tasks.Task&lt;System.Collections.Generic.IEnumerable&lt;[ScriptSyntaxError](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/NetSDKAPIref/Content/Qlik.Engine.ScriptSyntaxError.htm)&gt;&gt; |  |

### Remarks

The first area is the primary error area, the second area is the secondary error area. The second area is optional and is shown only if qSecondaryFailure is set to true. The second area ends when the next statement in the script begins.

[](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm) [](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.IApp.CheckScriptSyntaxAsync.htm)

## CheckScriptSyntaxAsync&lt;T&gt;(AsyncHandle, Func&lt;Response, T&gt;)

Checks the syntax of a script.

#### Example

"result": { "qErrors": [ { "qErrLen": 3, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 0, "qTextPos": 0 }, { "qErrLen": 5, "qTabIx": 0, "qLineInTab": 0, "qColInLine": 1, "qTextPos": 4, "qSecondaryFailure": true } ] }

The list of syntax errors in the script.

If there are no errors, the engine returns:

If there are errors, the engine returns the following properties in the response:

Please refer to Engine API reference for table definition.

### Declaration

```
Task<T> CheckScriptSyntaxAsync<T>(AsyncHandle asyncHandle, Func<Response, T> onResult)
```

### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [AsyncHandle](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/NetSDKAPIref/Content/Qlik.Engine.AsyncHandle.htm) | asyncHandle | Handle to asynchronous method request |
| System.Func&lt;[Response](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/NetSDKAPIref/Content/Qlik.Engine.Communication.IO.Response.htm), T&gt; | onResult | Continuation function |

### Returns

| Type | Description |
| --- | --- |
| System.Threading.Tasks.Task&lt;T&gt; |  |

### Type Parameters

| Name | Description |
| --- | --- |
| T |  |

### Remarks

The first area is the primary error area, the second area is the secondary error area. The second area is optional and is shown only if qSecondaryFailure is set to true. The second area ends when the next statement in the script begins.