Documentation

FT139

Back to documentation index
{
  "@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: