Handling errors and exceptions

0
(0)

C++

C#

Dart

F#

Go

JavaScript

Kotlin

Python

 

C++

#include <iostream>
#include <vector>

int main()
{
    try
    {
        std::vector<int> numbers{};
        // the vector::at() function throws an exception of type 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;
}

C#

try
{
    List<int> numbers = new();
    // Accessing index numbers[10] throws an IndexOutOfRange exception
    Console.WriteLine(numbers[10]);
}
catch (Exception e)
{
    Console.WriteLine(e.Message);
}
finally {
    Console.WriteLine("End");
}

Dart

void main() {
    try {
        var numbers = [];
        // generates a RangeError
        print(numbers[10]);
    }
    on Error catch(err) {
        print(err);
    }
    print("End");
}

F#

try
    let numbers: int list = []
    // Accessing index numbers[10] throws an IndexOutOfRange exception
    printfn "%d" numbers[10]
with
| e -> printfn "%s" e.Message

printfn "End"

In F#, try..with can return a default value if an error occurs:

let numbers: int list = []

let result =
    try
        // Accessing index numbers[10] throws an exception
        numbers[10]
    with
    | _ -> 22

printfn "%d" result

Go

package main

import "fmt"

func work() {
    // error handling
    defer func() {
        if r := recover(); r != nil {
            fmt.Println(r)
        }
    }()
    numbers := []int{}
    fmt.Println(numbers[10])
}

func main() {
    // actions where an error occurs are moved to a separate function
    work()
    fmt.Println("End")
}

JavaScript

try
{
    // accessing an undeclared variable throws a ReferenceError exception
    console.log(numbers[10]);
}
catch (e)
{
    console.error(e);
}
finally {
    console.log("End");
}

Kotlin

fun main() {
    try {
        var numbers = listOf<Int>();
        // Accessing index numbers[10] throws an ArrayIndexOutOfBoundsException
        println(numbers[10]);
    }
    catch (e: Exception) {
        println(e.message);
    }
    finally {
        println("End");
    }
}

In Kotlin, try..catch can also return a default value:

fun main() {
    var numbers = listOf<Int>();

    val result = try {
        numbers[10] // return the list element
    }
    catch (e: Exception) {
        println(e.message);
        22 // default value
    }

    println(result) // 22
}

Python

numbers = []
try:
    # Accessing index numbers[10] throws an IndexError exception
    print(numbers[10])
except BaseException as e:
    print(e)
finally:
    print("End")



Next

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?


Explore More IT Terms


Share this term: Facebook X LinkedIn WhatsApp Email
CONTINUE LEARNING Next: Vue.js →

Leave a Reply

Your email address will not be published. Required fields are marked *

Go beyond simple links with powerful features designed for creators.