{
"@context": "https://nxdlang.org/schema",
"doc_id": "FT139",
"title": "FT139 - Intentional Failures",
"description": "Intentional Test Failures",
"layer": "Failed Tests",
"category": "Failed Tests - Nim",
"keywords": [Nim, Fail, Test],
"doc_version": "1.0",
"status": "active"
}
# FT139
### NXD Sample:
```nxd
MODULE TEST
FUNC MAIN()
LET X SET 1
LET X SET 2
TRY:
PRINTLN("TRY")
CATCH:
PRINTLN("CATCH")
FINALLY:
PRINTLN("FINALLY")
```
### Result:
PASS
### Expected Output:
FAIL - Duplicate Declaration
### Expected Rejection Stage:
[ ] Lexer
[ ] Parser
[ ] AST
[ ] IR
[X] Semantics
[ ] Backend
### Actual Output:
```json
{
"module": {
"name": "TEST",
"imports": []
},
"types": [],
"traits": [],
"impls": [],
"functions": [
{
"name": "MAIN",
"params": [],
"return_type": null,
"body": [
{
"Let": {
"name": "X",
"value": {
"Literal": {
"Int": 1
}
}
}
},
{
"Let": {
"name": "X",
"value": {
"Literal": {
"Int": 2
}
}
}
},
{
"Try": {
"try_body": [
{
"Expr": {
"Call": {
"func": "PRINTLN",
"args": [
{
"Literal": {
"String": "TRY"
}
}
]
}
}
}
],
"catch_body": [
{
"Expr": {
"Call": {
"func": "PRINTLN",
"args": [
{
"Literal": {
"String": "CATCH"
}
}
]
}
}
}
],
"finally_body": [
{
"Expr": {
"Call": {
"func": "PRINTLN",
"args": [
{
"Literal": {
"String": "FINALLY"
}
}
]
}
}
}
]
}
}
]
}
],
"statements": []
}
```
```nim
# test
proc main() =
var x = 1
var x = 2
# TRY
println("TRY")
# CATCH
println("CATCH")
# FINALLY
println("FINALLY")
```
### Notes:
Documentation