Snippets

Михаил Беляков 050. Блоки try... catch

Updated by Former user

File .gitignore Modified

  • Ignore whitespace
  • Hide word diff
 *.json
 *.tgz
 *.sh
+*.mkv
+*.lst
 

File 010_without_try.js Modified

  • Ignore whitespace
  • Hide word diff
 let buf = fs.readFileSync('absent_file_235434534534.dat')
 
 consol.log(12345)
-

File 015_try_catch.js Modified

  • Ignore whitespace
  • Hide word diff
     let buf = fs.readFileSync('absent_file_235434534534.dat')
 }
 catch(e){
-    console.log(e)
+    //console.log(e)
 }
 
+console.log(12345)

File 020_exception_to_string.js Modified

  • Ignore whitespace
  • Hide word diff
 catch(e){
     console.log(e.toString())
 }
-

File 025_finally.js Modified

  • Ignore whitespace
  • Hide word diff
 const fs = require('fs')
 
 try{
-    //let buf = fs.readFileSync('absent_file_235434534534.dat')
-    let buf = 123
+    let buf = fs.readFileSync('absent_file_235434534534.dat')
+    //let buf = 123
 }
 catch(e){
     console.log(e.toString())
 finally{
     console.log('В любом случае мы здесь.')
 }
-

File 030_throw.js Modified

  • Ignore whitespace
  • Hide word diff
 
 const sayHello = (word)=> {
     if(!word) throw 'Не указано слово'
-    console.log(word)
+    if(!/^[A-Z]/.test(word)) throw 'Слово должно начинаться с заглавной буквы'
+    console.log(`Hello, ${word}!`)
 }
 
 try{
-    //sayHello('Hello, World!')
-    sayHello()
+    //sayHello()
+    //sayHello('world')
+    sayHello('World')
 }
 catch(e){
-    console.log(e.toString())
+    console.log(e)
 }
-

File README.md Added

  • Ignore whitespace
  • Hide word diff
+Блоки try... catch позволяют перехватывать аварийные ситуации (исключения), возникающие в программе, чтобы максимально корректно преодолеть их. С помощью ключевого слова throw можно самостоятельно возбуждать исключения в ситуациях, которые с точки знерия семантики предметной области являются недопустимыми.

File settings.sh Deleted

  • Ignore whitespace
  • Hide word diff
-ABOUT=""
-RESUME=""
-FN=try-catch-finally
-
Updated by Former user

File .gitignore Added

  • Ignore whitespace
  • Hide word diff
+*.mp3
+*.json
+*.tgz
+*.sh
+

File settings.sh Modified

  • Ignore whitespace
  • Hide word diff
-ABOUT="об использовании простейшего отладочного инструмента - консоли NodeJS11231231231."
-RESUME="Консоль JavaScript - простой и удобный инструмент отладки, с помощью которого можно быстро проверить работу небольших программ."
-FN=console-log
+ABOUT=""
+RESUME=""
+FN=try-catch-finally
 
Created by Михаил Беляков

File 010_without_try.js Added

  • Ignore whitespace
  • Hide word diff
+/*
+ * Чтобы продемонстрировать аварийную ситуацию, 
+ * попробуем обратиться к несуществующему файлу.
+ */ 
+
+const fs = require('fs')
+
+let buf = fs.readFileSync('absent_file_235434534534.dat')
+
+consol.log(12345)
+

File 015_try_catch.js Added

  • Ignore whitespace
  • Hide word diff
+/*
+ * Перехватим исключительную (аварийную) ситуацию
+ * с помощью блоков try и catch.
+ */ 
+
+const fs = require('fs')
+
+try{
+    let buf = fs.readFileSync('absent_file_235434534534.dat')
+}
+catch(e){
+    console.log(e)
+}
+

File 020_exception_to_string.js Added

  • Ignore whitespace
  • Hide word diff
+/*
+ * Объект-исключение, передаваемый в блок catch,
+ * зачастую содержит подробную и даже избыточную
+ * информацию. Иногда достаточно краткой характеристики,
+ * получаемой с помощью метода toString.
+ */ 
+
+const fs = require('fs')
+
+try{
+    let buf = fs.readFileSync('absent_file_235434534534.dat')
+}
+catch(e){
+    console.log(e.toString())
+}
+

File 025_finally.js Added

  • Ignore whitespace
  • Hide word diff
+/*
+ * Блок finally служит для того, чтобы обработать
+ * оба случая: и тот, когда блок try выполнен с ошибкой,
+ * и тот, когда всё прошло нормально.
+ */ 
+
+const fs = require('fs')
+
+try{
+    //let buf = fs.readFileSync('absent_file_235434534534.dat')
+    let buf = 123
+}
+catch(e){
+    console.log(e.toString())
+}
+finally{
+    console.log('В любом случае мы здесь.')
+}
+

File 030_throw.js Added

  • Ignore whitespace
  • Hide word diff
+/*
+ * Программист может разрабатывать 
+ * собственные исключения для обработки специфических ситуаций. 
+ * В большинстве случаев достаточно задействовать ключевое слово 
+ * throw и строку с описанием ситуации.
+ */ 
+
+const sayHello = (word)=> {
+    if(!word) throw 'Не указано слово'
+    console.log(word)
+}
+
+try{
+    //sayHello('Hello, World!')
+    sayHello()
+}
+catch(e){
+    console.log(e.toString())
+}
+

File settings.sh Added

  • Ignore whitespace
  • Hide word diff
+ABOUT="об использовании простейшего отладочного инструмента - консоли NodeJS11231231231."
+RESUME="Консоль JavaScript - простой и удобный инструмент отладки, с помощью которого можно быстро проверить работу небольших программ."
+FN=console-log
+
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.