Mercurial Hosting > luan
comparison website/src/diff.html @ 1520:d9a5405a3102
try statement
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Sun, 21 Jun 2020 18:14:13 -0600 |
| parents | f5368cd8c056 |
| children | d3e61cd2aca0 |
comparison
equal
deleted
inserted
replaced
| 1519:3ebf9781707c | 1520:d9a5405a3102 |
|---|---|
| 43 <li> | 43 <li> |
| 44 <a href="#stmt">Statements</a> | 44 <a href="#stmt">Statements</a> |
| 45 <ul> | 45 <ul> |
| 46 <li><a href="#control">Control Structures</a></li> | 46 <li><a href="#control">Control Structures</a></li> |
| 47 <li><a href="#for">For Statement</a></li> | 47 <li><a href="#for">For Statement</a></li> |
| 48 <li><a href="#try">Try Statement</a></li> | |
| 48 <li><a href="#logical">Logical Statements</a></li> | 49 <li><a href="#logical">Logical Statements</a></li> |
| 49 <li><a href="#template_stmt">Template Statements</a></li> | 50 <li><a href="#template_stmt">Template Statements</a></li> |
| 50 </ul> | 51 </ul> |
| 51 </li> | 52 </li> |
| 52 <li> | 53 <li> |
| 93 | 94 |
| 94 <p>Every module is initialized with two local functions: <code>require</code> and <code>java</code>. The module then uses these functions to get access to whatever else it needs.</p> | 95 <p>Every module is initialized with two local functions: <code>require</code> and <code>java</code>. The module then uses these functions to get access to whatever else it needs.</p> |
| 95 | 96 |
| 96 <h3 heading><a name="error" href="#error">Error Handling</a></h3> | 97 <h3 heading><a name="error" href="#error">Error Handling</a></h3> |
| 97 | 98 |
| 98 <p>Luan has the functions <code>error</code> and <code>pcall</code> but does not have <code>xpcall</code>. Luan adds the function <code>try</code> which looks and acts like try-catch blocks in other languages. Luan errors are implemented as an error table, not as a message object.</p> | 99 <p>Luan has the functions <code>error</code> but does not have <code>pcall</code> or <code>xpcall</code>. Luan adds the <a href="#try">try statement</a> instead. Luan errors are implemented as an error table, not as a message object.</p> |
| 99 | 100 |
| 100 <h3 heading><a name="meta" href="#meta">Metatables and Metamethods</a></h3> | 101 <h3 heading><a name="meta" href="#meta">Metatables and Metamethods</a></h3> |
| 101 | 102 |
| 102 <p>Luan only has metatable for tables, not for other types.</p> | 103 <p>Luan only has metatable for tables, not for other types.</p> |
| 103 | 104 |
| 163 block | 164 block |
| 164 end | 165 end |
| 165 end | 166 end |
| 166 </pre> | 167 </pre> |
| 167 | 168 |
| 169 | |
| 170 <h4 heading><a name="try" href="#for">Try Statement</a></h4> | |
| 171 | |
| 172 <p>Unlike Lua, Luan has a <b>try</b> statement. See <a href="manual.html#try">Try Statement</a> in the Luan Reference Manual. This also eliminates the need for Lua's <b>pcall</b> function which Luan doesn't have.</p> | |
| 173 | |
| 168 <h4 heading><a name="logical" href="#logical">Logical Statements</a></h4> | 174 <h4 heading><a name="logical" href="#logical">Logical Statements</a></h4> |
| 169 | 175 |
| 170 <p>Unlike Lua, Luan allows <b>or</b> and <b>and</b> expressions to be stand-alone statements. This is useful in cases like this:</p> | 176 <p>Unlike Lua, Luan allows <b>or</b> and <b>and</b> expressions to be stand-alone statements. This is useful in cases like this:</p> |
| 171 | 177 |
| 172 <pre> | 178 <pre> |
