Назад к задачам
Junior — Senior
25

Повторное выбрасывание исключений в вложенных try‑catch блоках

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Имеется программа на C#, в которой два вложенных блока try‑catch пере‑выбрасывают исключения разными способами. Необходимо объяснить порядок выполнения и показать, какие сообщения будут выведены.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System;Threading.Tasks;

namespace TestProj
        {
            static class Program{
                static void Main(string[] args){
                    try {
                        try {
                            throw new System.Threading.Tasks.TaskSchedulerException();
                        } catch {
                            throw ;
                        }
                    }
                    catch (Exception ex) {
                        Console.WriteLine(ex);
                    }
                    try{
                        try {
                            throw new IndexOutofRangeException();
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex);
                    }
                }
            }
        }