[{"data":1,"prerenderedAt":695},["ShallowReactive",2],{"navigation_docs":3,"-advance-error":198,"-advance-error-surround":690},[4,30,81,118,147,171,184],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"/getting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","/getting-started/introduction","1.getting-started/2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","/getting-started/installation","1.getting-started/3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick start","/getting-started/quickstart","1.getting-started/4.quickstart","i-lucide-code-xml",{"title":26,"path":27,"stem":28,"icon":29},"Troubleshooting","/getting-started/troubleshooting","1.getting-started/5.troubleshooting","i-lucide-wrench",{"title":31,"icon":6,"path":32,"stem":33,"children":34,"page":6},"Core Features","/core-features","2.core-features",[35,39,43,48,52,56,60,64,68,73,77],{"title":36,"path":37,"stem":38,"icon":24},"Main function","/core-features/main-function","2.core-features/1.main-function",{"title":40,"path":41,"stem":42,"icon":24},"Variables","/core-features/variables","2.core-features/2.variables",{"title":44,"path":45,"stem":46,"icon":47},"Comment","/core-features/comment","2.core-features/3.comment","i-lucide-hash",{"title":49,"path":50,"stem":51,"icon":24},"Conditionals","/core-features/conditionals","2.core-features/4.conditionals",{"title":53,"path":54,"stem":55,"icon":24},"Loops","/core-features/loops","2.core-features/5.loops",{"title":57,"path":58,"stem":59,"icon":24},"Functions","/core-features/functions","2.core-features/6.functions",{"title":61,"path":62,"stem":63,"icon":24},"Pointers","/core-features/pointers","2.core-features/7.pointers",{"title":65,"path":66,"stem":67,"icon":24},"Data types","/core-features/datatypes","2.core-features/8.datatypes",{"title":69,"path":70,"stem":71,"icon":72},"Operators","/core-features/operators","2.core-features/9.operators","i-lucide-percent",{"title":74,"path":75,"stem":76,"icon":24},"Literals","/core-features/a.literals","2.core-features/a.literals",{"title":78,"path":79,"stem":80,"icon":24},"Keywords","/core-features/b.keywords","2.core-features/b.keywords",{"title":82,"icon":6,"path":83,"stem":84,"children":85,"page":6},"Features","/features","3.features",[86,90,94,98,102,106,110,114],{"title":87,"path":88,"stem":89,"icon":24},"Const","/features/const","3.features/1.const",{"title":91,"path":92,"stem":93,"icon":24},"Define","/features/define","3.features/2.define",{"title":95,"path":96,"stem":97,"icon":24},"Enum","/features/enum","3.features/3.enum",{"title":99,"path":100,"stem":101,"icon":24},"Union","/features/union","3.features/4.union",{"title":103,"path":104,"stem":105,"icon":24},"Overloading","/features/overloading","3.features/5.overloading",{"title":107,"path":108,"stem":109,"icon":24},"Lambda","/features/lambda","3.features/6.lambda",{"title":111,"path":112,"stem":113,"icon":24},"Callback","/features/callback","3.features/7.callback",{"title":115,"path":116,"stem":117,"icon":24},"Auto","/features/auto","3.features/8.auto",{"title":119,"icon":6,"path":120,"stem":121,"children":122,"page":6},"Advance Features","/advance","4.advance",[123,127,131,135,139,143],{"title":124,"path":125,"stem":126,"icon":24},"Generic Type","/advance/generic-type","4.advance/1.generic-type",{"title":128,"path":129,"stem":130,"icon":24},"Errors","/advance/error","4.advance/2.error",{"title":132,"path":133,"stem":134,"icon":24},"Annotation","/advance/annotation","4.advance/3.annotation",{"title":136,"path":137,"stem":138,"icon":24},"Variadic Function","/advance/variadic-func","4.advance/4.variadic-func",{"title":140,"path":141,"stem":142,"icon":24},"Module","/advance/module-interface","4.advance/5.module-interface",{"title":144,"path":145,"stem":146,"icon":24},"Operator Overloading","/advance/operator-overloading","4.advance/6.operator-overloading",{"title":148,"icon":6,"path":149,"stem":150,"children":151,"page":6},"Struct","/struct","5.struct",[152,155,159,163,167],{"title":148,"path":153,"stem":154,"icon":24},"/struct/struct","5.struct/1.struct",{"title":156,"path":157,"stem":158,"icon":24},"Methods","/struct/methods","5.struct/2.methods",{"title":160,"path":161,"stem":162,"icon":24},"Init/Deinit","/struct/init-deinit","5.struct/3.init-deinit",{"title":164,"path":165,"stem":166,"icon":24},"Encapsulation","/struct/encapsulation","5.struct/4.encapsulation",{"title":168,"path":169,"stem":170,"icon":24},"Static","/struct/static","5.struct/5.static",{"title":172,"icon":6,"path":173,"stem":174,"children":175,"page":6},"Data Structures","/data-structure","6.data-structure",[176,180],{"title":177,"path":178,"stem":179,"icon":24},"Array","/data-structure/array","6.data-structure/array",{"title":181,"path":182,"stem":183,"icon":24},"Structural Type","/data-structure/strutural-type","6.data-structure/strutural-type",{"title":185,"icon":6,"path":186,"stem":187,"children":188,"page":6},"Standard Libraries","/stdlib","7.stdlib",[189,194],{"title":190,"path":191,"stem":192,"icon":193},"stdlib","/stdlib/stdlib","7.stdlib/stdlib","i-lucide-library-big",{"title":195,"path":196,"stem":197,"icon":24},"syscall","/stdlib/syscall","7.stdlib/syscall",{"id":199,"title":128,"body":200,"description":683,"extension":684,"links":685,"meta":686,"navigation":687,"path":129,"seo":688,"stem":130,"__hash__":689},"docs/4.advance/2.error.md",{"type":201,"value":202,"toc":680},"minimark",[203,208,261,307,314,676],[204,205,207],"h2",{"id":206},"error-handling","Error Handling",[209,210,216],"pre",{"className":211,"code":212,"filename":213,"language":214,"meta":215,"style":215},"language-kh shiki shiki-themes material-theme-lighter one-light one-dark-pro","return_type identifier(parameter) error_type {\n\n}\n","syntax","kh","",[217,218,219,248,255],"code",{"__ignoreMap":215},[220,221,224,228,232,236,239,242,245],"span",{"class":222,"line":223},"line",1,[220,225,227],{"class":226},"s8dPH","return_type",[220,229,231],{"class":230},"spnjr"," identifier",[220,233,235],{"class":234},"sM89C","(",[220,237,238],{"class":226},"parameter",[220,240,241],{"class":234},") ",[220,243,244],{"class":226},"error_type",[220,246,247],{"class":234}," {\n",[220,249,251],{"class":222,"line":250},2,[220,252,254],{"emptyLinePlaceholder":253},true,"\n",[220,256,258],{"class":222,"line":257},3,[220,259,260],{"class":234},"}\n",[262,263,264,268,277,286,291,297],"ul",{},[265,266,267],"li",{},"This syntax allows us to return an error code on failure.",[265,269,270,271,273,274,276],{},"In this case, the ",[217,272,227],{}," and ",[217,275,244],{}," will be wrapped in an union behind the scene, which means only one block of memory will be allocated.",[265,278,279,281,282,285],{},[217,280,244],{}," must be defined using ",[217,283,284],{},"enum"," type",[265,287,288,290],{},[217,289,244],{}," is optional, however compiler will enforce checking if used",[265,292,293,294,296],{},"One function can have only one unique ",[217,295,244],{}," enum.",[265,298,299,300,302,303,306],{},"Attempting to return a value that does not match the function's declared ",[217,301,227],{}," or any of its ",[217,304,305],{},"error_type "," will result in compilation error.",[308,309,310],"p",{},[311,312,313],"strong",{},"Example:",[209,315,317],{"className":211,"code":316,"language":214,"meta":215,"style":215},"enum MathError {\n  DivideByZero,\n  LogZero,\n  LogNegativeNumber,\n  # ...\n}\n\nfloat divide(float a, float b) MathError {\n  \n  if(b == 0) \n    return MathError.DivideByZero;\n  \n  return a / b;\n} \n\nint main(){\n\n  float result1 = divide(12, 3) otherwise (MathError error){\n    print(error.name);\n  }\n\n\n  float result2 = divide(12, 3) otherwise (error){  # \u003C- MathError type specification is optional\n    if(error = MathError.DivideByZero){\n      print(\"cannot divide by zero\\n\");\n    } \n  }\n\n  return 0;\n}\n\n",[217,318,319,329,337,344,352,359,364,369,400,406,428,445,450,465,471,476,488,493,533,552,558,563,568,602,622,646,652,657,662,671],{"__ignoreMap":215},[220,320,321,324,327],{"class":222,"line":223},[220,322,284],{"class":323},"sQsOY",[220,325,326],{"class":226}," MathError",[220,328,247],{"class":234},[220,330,331,334],{"class":222,"line":250},[220,332,333],{"class":226},"  DivideByZero",[220,335,336],{"class":234},",\n",[220,338,339,342],{"class":222,"line":257},[220,340,341],{"class":226},"  LogZero",[220,343,336],{"class":234},[220,345,347,350],{"class":222,"line":346},4,[220,348,349],{"class":226},"  LogNegativeNumber",[220,351,336],{"class":234},[220,353,355],{"class":222,"line":354},5,[220,356,358],{"class":357},"seacL","  # ...\n",[220,360,362],{"class":222,"line":361},6,[220,363,260],{"class":234},[220,365,367],{"class":222,"line":366},7,[220,368,254],{"emptyLinePlaceholder":253},[220,370,372,375,378,380,382,385,388,390,393,395,398],{"class":222,"line":371},8,[220,373,374],{"class":226},"float",[220,376,377],{"class":230}," divide",[220,379,235],{"class":234},[220,381,374],{"class":226},[220,383,384],{"class":226}," a",[220,386,387],{"class":234},", ",[220,389,374],{"class":226},[220,391,392],{"class":226}," b",[220,394,241],{"class":234},[220,396,397],{"class":226},"MathError",[220,399,247],{"class":234},[220,401,403],{"class":222,"line":402},9,[220,404,405],{"class":234},"  \n",[220,407,409,412,414,417,421,425],{"class":222,"line":408},10,[220,410,411],{"class":323},"  if",[220,413,235],{"class":234},[220,415,416],{"class":226},"b",[220,418,420],{"class":419},"sB4Xn"," ==",[220,422,424],{"class":423},"sriKn"," 0",[220,426,427],{"class":234},") \n",[220,429,431,434,436,439,442],{"class":222,"line":430},11,[220,432,433],{"class":323},"    return",[220,435,326],{"class":226},[220,437,438],{"class":234},".",[220,440,441],{"class":226},"DivideByZero",[220,443,444],{"class":234},";\n",[220,446,448],{"class":222,"line":447},12,[220,449,405],{"class":234},[220,451,453,456,458,461,463],{"class":222,"line":452},13,[220,454,455],{"class":323},"  return",[220,457,384],{"class":226},[220,459,460],{"class":419}," /",[220,462,392],{"class":226},[220,464,444],{"class":234},[220,466,468],{"class":222,"line":467},14,[220,469,470],{"class":234},"} \n",[220,472,474],{"class":222,"line":473},15,[220,475,254],{"emptyLinePlaceholder":253},[220,477,479,482,485],{"class":222,"line":478},16,[220,480,481],{"class":226},"int",[220,483,484],{"class":230}," main",[220,486,487],{"class":234},"(){\n",[220,489,491],{"class":222,"line":490},17,[220,492,254],{"emptyLinePlaceholder":253},[220,494,496,499,502,505,507,509,512,514,517,519,522,525,527,530],{"class":222,"line":495},18,[220,497,498],{"class":226},"  float",[220,500,501],{"class":226}," result1",[220,503,504],{"class":419}," =",[220,506,377],{"class":230},[220,508,235],{"class":234},[220,510,511],{"class":423},"12",[220,513,387],{"class":234},[220,515,516],{"class":423},"3",[220,518,241],{"class":234},[220,520,521],{"class":323},"otherwise",[220,523,524],{"class":234}," (",[220,526,397],{"class":226},[220,528,529],{"class":226}," error",[220,531,532],{"class":234},"){\n",[220,534,536,539,541,544,546,549],{"class":222,"line":535},19,[220,537,538],{"class":230},"    print",[220,540,235],{"class":234},[220,542,543],{"class":226},"error",[220,545,438],{"class":234},[220,547,548],{"class":226},"name",[220,550,551],{"class":234},");\n",[220,553,555],{"class":222,"line":554},20,[220,556,557],{"class":234},"  }\n",[220,559,561],{"class":222,"line":560},21,[220,562,254],{"emptyLinePlaceholder":253},[220,564,566],{"class":222,"line":565},22,[220,567,254],{"emptyLinePlaceholder":253},[220,569,571,573,576,578,580,582,584,586,588,590,592,594,596,599],{"class":222,"line":570},23,[220,572,498],{"class":226},[220,574,575],{"class":226}," result2",[220,577,504],{"class":419},[220,579,377],{"class":230},[220,581,235],{"class":234},[220,583,511],{"class":423},[220,585,387],{"class":234},[220,587,516],{"class":423},[220,589,241],{"class":234},[220,591,521],{"class":323},[220,593,524],{"class":234},[220,595,543],{"class":226},[220,597,598],{"class":234},"){  ",[220,600,601],{"class":357},"# \u003C- MathError type specification is optional\n",[220,603,605,608,610,612,614,616,618,620],{"class":222,"line":604},24,[220,606,607],{"class":323},"    if",[220,609,235],{"class":234},[220,611,543],{"class":226},[220,613,504],{"class":419},[220,615,326],{"class":226},[220,617,438],{"class":234},[220,619,441],{"class":226},[220,621,532],{"class":234},[220,623,625,628,630,634,638,642,644],{"class":222,"line":624},25,[220,626,627],{"class":230},"      print",[220,629,235],{"class":234},[220,631,633],{"class":632},"sVH1b","\"",[220,635,637],{"class":636},"spZWa","cannot divide by zero",[220,639,641],{"class":640},"scPpd","\\n",[220,643,633],{"class":632},[220,645,551],{"class":234},[220,647,649],{"class":222,"line":648},26,[220,650,651],{"class":234},"    } \n",[220,653,655],{"class":222,"line":654},27,[220,656,557],{"class":234},[220,658,660],{"class":222,"line":659},28,[220,661,254],{"emptyLinePlaceholder":253},[220,663,665,667,669],{"class":222,"line":664},29,[220,666,455],{"class":323},[220,668,424],{"class":423},[220,670,444],{"class":234},[220,672,674],{"class":222,"line":673},30,[220,675,260],{"class":234},[677,678,679],"style",{},"html pre.shiki code .s8dPH, html code.shiki .s8dPH{--shiki-light:#90A4AE;--shiki-default:#E45649;--shiki-dark:#E06C75}html pre.shiki code .spnjr, html code.shiki .spnjr{--shiki-light:#6182B8;--shiki-default:#4078F2;--shiki-dark:#61AFEF}html pre.shiki code .sM89C, html code.shiki .sM89C{--shiki-light:#90A4AE;--shiki-default:#383A42;--shiki-dark:#ABB2BF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sQsOY, html code.shiki .sQsOY{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#A626A4;--shiki-default-font-style:inherit;--shiki-dark:#C678DD;--shiki-dark-font-style:inherit}html pre.shiki code .seacL, html code.shiki .seacL{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#A0A1A7;--shiki-default-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic}html pre.shiki code .sB4Xn, html code.shiki .sB4Xn{--shiki-light:#39ADB5;--shiki-default:#383A42;--shiki-dark:#ABB2BF}html pre.shiki code .sriKn, html code.shiki .sriKn{--shiki-light:#F76D47;--shiki-default:#986801;--shiki-dark:#D19A66}html pre.shiki code .sVH1b, html code.shiki .sVH1b{--shiki-light:#39ADB5;--shiki-default:#50A14F;--shiki-dark:#98C379}html pre.shiki code .spZWa, html code.shiki .spZWa{--shiki-light:#91B859;--shiki-default:#50A14F;--shiki-dark:#98C379}html pre.shiki code .scPpd, html code.shiki .scPpd{--shiki-light:#90A4AE;--shiki-default:#0184BC;--shiki-dark:#56B6C2}",{"title":215,"searchDepth":250,"depth":250,"links":681},[682],{"id":206,"depth":250,"text":207},"Beautiful way to handle errors!","md",null,{},{"icon":24},{"title":128,"description":683},"bvAUHTpwoVU-9G6zbieCLtN1-MfaiiyGDBDGZkZU_E0",[691,693],{"title":124,"path":125,"stem":126,"description":692,"icon":24,"children":-1},"Create a blueprint for a struct or a function.",{"title":132,"path":133,"stem":134,"description":694,"icon":24,"children":-1},"Additional metadata",1774971230672]