beautify 1st part of the tutorial

This commit is contained in:
Ilya Kantor 2015-03-10 12:36:58 +03:00
parent e3dd2cedc0
commit 6444024a9d
327 changed files with 2358 additions and 1986 deletions

View file

@ -11,10 +11,10 @@ function f() {
*!*
return result;
*/!*
} catch(e) {
} catch (e) {
...
} finally {
очистить ресурсы
очистить ресурсы
}
}
```
@ -25,17 +25,17 @@ function f() {
function f() {
try {
...
} catch(e) {
} catch (e) {
...
if (не умею обрабатывать эту ошибку) {
if(не умею обрабатывать эту ошибку) {
*!*
throw e;
*/!*
}
} finally {
очистить ресурсы
очистить ресурсы
}
}
```

View file

@ -11,11 +11,11 @@
try {
начать работу
работать
} catch(e) {
} catch (e) {
обработать ошибку
} finally {
*!*
финализация: завершить работу
финализация: завершить работу
*/!*
}
```
@ -26,9 +26,9 @@ try {
```js
try {
начать работу
} catch(e) {
} catch (e) {
обработать ошибку
}
}
*!*
финализация: завершить работу

View file

@ -15,7 +15,7 @@ alert( eval("2+2") ); // 4
//+ run demo
var expr, res;
while(true) {
while (true) {
expr = prompt("Введите выражение?", '2-');
if (expr == null) break;
@ -26,11 +26,11 @@ while(true) {
}
break;
} catch(e) {
alert("Ошибка: "+e.message+", повторите ввод");
} catch (e) {
alert( "Ошибка: " + e.message + ", повторите ввод" );
}
}
alert(res);
alert( res );
```

View file

@ -19,7 +19,7 @@ try {
// код ...
} catch(err) {
} catch (err) {
// обработка ошибки
@ -101,11 +101,11 @@ alert("Потом код продолжит выполнение...");
```js
//+ run
try {
setTimeout(function() {
setTimeout(function() {
throw new Error(); // вылетит в консоль
}, 1000);
} catch(e) {
alert("не сработает");
} catch (e) {
alert( "не сработает" );
}
```
@ -169,11 +169,11 @@ var data = "Has Error"; // в данных ошибка
try {
var user = JSON.parse(data); // <-- ошибка при выполнении
alert(user.name); // не сработает
alert( user.name ); // не сработает
} catch(e) {
} catch (e) {
// ...выполнится catch
alert( "Извините, в данных ошибка, мы попробуем получить их ещё раз");
alert( "Извините, в данных ошибка, мы попробуем получить их ещё раз" );
alert( e.name );
alert( e.message );
}
@ -193,12 +193,12 @@ try {
var user = JSON.parse(data); // <-- выполнится без ошибок
*!*
alert(user.name); // undefined
alert( user.name ); // undefined
*/!*
} catch(e) {
} catch (e) {
// не выполнится
alert( "Извините, в данных ошибка");
alert( "Извините, в данных ошибка" );
}
```
@ -234,10 +234,10 @@ try {
}
*/!*
alert(user.name);
alert( user.name );
} catch(e) {
alert( "Извините, в данных ошибка");
} catch (e) {
alert( "Извините, в данных ошибка" );
}
```
@ -265,7 +265,7 @@ var data = '{ "name": "Вася", "age": 30 }'; // данные корректн
try {
var user = JSON.parse(data);
var user = JSON.parse(data);
if (!user.name) {
throw new SyntaxError("Ошибка в данных");
@ -275,13 +275,13 @@ try {
blabla(); // произошла непредусмотренная ошибка
*/!*
alert(user.name);
alert( user.name );
} catch(e) {
} catch (e) {
*!*
*!*
if (e.name == "SyntaxError") {
alert( "Извините, в данных ошибка");
alert( "Извините, в данных ошибка" );
} else {
throw e;
}
@ -297,14 +297,14 @@ try {
```js
//+ run
function readData() {
var data = '{ "name": "Вася", "age": 30 }';
var data = '{ "name": "Вася", "age": 30 }';
try {
// ...
*!*
blabla(); // ошибка!
*/!*
} catch(e) {
} catch (e) {
// ...
*!*
if (e.name != 'SyntaxError') {
@ -317,9 +317,9 @@ function readData() {
try {
readData();
} catch(e) {
} catch (e) {
*!*
alert("Поймал во внешнем catch: " + e); // ловим
alert( "Поймал во внешнем catch: " + e ); // ловим
*/!*
}
```
@ -357,13 +357,13 @@ function ReadError(message, cause) {
}
function readData() {
var data = '{ bad data }';
var data = '{ bad data }';
try {
// ...
JSON.parse(data);
// ...
} catch(e) {
} catch (e) {
// ...
if (e.name == 'URIError') {
throw new ReadError("Ошибка в URI", e);
@ -380,10 +380,10 @@ function readData() {
try {
readData();
} catch(e) {
} catch (e) {
if (e.name == 'ReadError') {
alert(e.message);
alert(e.cause); // оригинальная ошибка-причина
alert( e.message );
alert( e.cause ); // оригинальная ошибка-причина
} else {
throw e;
}
@ -419,12 +419,12 @@ try {
```js
//+ run
try {
alert('try');
alert( 'try' );
if (confirm('Сгенерировать ошибку?')) BAD_CODE();
} catch(e) {
alert('catch');
} catch (e) {
alert( 'catch' );
} finally {
alert('finally');
alert( 'finally' );
}
```
@ -441,7 +441,7 @@ try {
```js
//+ run
function sum(n) {
return n ? (n + sum(n-1)) : 0;
return n ? (n + sum(n - 1)) : 0;
}
var n = +prompt('Введите n?', 100);
@ -450,7 +450,7 @@ var start = new Date();
try {
var result = sum(n);
} catch(e) {
} catch (e) {
result = 0;
*!*
} finally {
@ -458,8 +458,8 @@ try {
}
*/!*
alert(result ? result : 'была ошибка');
alert("Выполнение заняло " + diff);
alert( result ? result : 'была ошибка' );
alert( "Выполнение заняло " + diff );
```
Здесь секция `finally` гарантирует, что время будет подсчитано в любых ситуациях -- при ошибке в `sum` или без неё.
@ -475,16 +475,16 @@ alert("Выполнение заняло " + diff);
```js
//+ run
function func() {
try {
// сразу вернуть значение
return 1;
} catch(e) {
} catch (e) {
/* ... */
} finally {
*!*
alert('finally');
alert( 'finally' );
*/!*
}
}
@ -502,7 +502,7 @@ function func() {
try {
return 1;
} finally {
alert('Вызов завершён');
alert( 'Вызов завершён' );
}
}
@ -529,17 +529,17 @@ alert( func() ); // сначала finally, потом 1
<!--+ run -->
<script>
*!*
window.onerror = function(message, url, lineNumber) {
alert("Поймана ошибка, выпавшая в глобальную область!\n" +
"Сообщение: " + message +"\n(" + url + ":" + lineNumber + ")");
};
window.onerror = function(message, url, lineNumber) {
alert("Поймана ошибка, выпавшая в глобальную область!\n" +
"Сообщение: " + message + "\n(" + url + ":" + lineNumber + ")");
};
*/!*
function readData() {
error(); // ой, что-то не так
}
function readData() {
error(); // ой, что-то не так
}
readData();
readData();
</script>
```