C++
C#
Dart
F#
JavaScript
Kotlin
Python
#include <iostream> #include <vector> int main() { try { std::vector<int> numbers{}; // функция vector::at() генерирует исключение типа std::out_of_range std::cout << numbers.at(10) << std::endl; } catch (const std::exception& err) { std::cerr << err.what() << std::endl; } std::cout << "End" << std::endl; }
try { List<int> numbers = new(); // Обращение по индексу numbers[10] генерирует исключение типа IndexOutOfRange Console.WriteLine(numbers[10]); } catch (Exception e) { Console.WriteLine(e.Message); } finally{ Console.WriteLine("End"); }
void main (){ try{ var numbers =[]; // генерирует ошибку RangeError print(numbers[10]); } on Error catch(err){ print(err); } print("End"); }
try let numbers: int list = [] // Обращение по индексу numbers[10] генерирует исключение типа IndexOutOfRange printfn "%d" numbers[10] with | e -> printfn "%s" e.Message printfn "End"
В F# try..with может возвращать значение по умолчанию, если произошла ошибка:
let numbers: int list = [] let result = try // Обращение по индексу numbers[10] генерирует исключение numbers[10] with | _ -> 22 printfn "%d" result
try { // при обращении к необъявленной переменной генерируется исключение ReferenceError console.log(numbers[10]); } catch (e) { console.error(e); } finally{ console.log("End"); }
fun main() { try { var numbers = listOf<Int>(); // Обращение по индексу numbers[10] генерирует исключение типа ArrayIndexOutOfBoundsException println(numbers[10]); } catch (e:Exception){ println(e.message); } finally{ println("End"); } }
В Kotlin try..catch может возвращать значение по умолчанию, если произошла ошибка:
fun main() { var numbers = listOf<Int>(); val result = try { numbers[10] // возвращаем элемент списка } catch (e:Exception){ println(e.message); 22 // значение по умолчанию } println(result) // 22 }
numbers = [] try: # Обращение по индексу numbers[10] генерирует исключение типа IndexError print(numbers[10]) except BaseException as e: print(e) finally: print("End")