Advertisement
Thewest123

171124 Černý1

Nov 27th, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.06 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _171124_Černý1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Console.Title = "Odchytávání chyb";
  14.             Console.BackgroundColor = ConsoleColor.White;
  15.             Console.ForegroundColor = ConsoleColor.Black;
  16.  
  17.             while (true)
  18.             {
  19.                 Console.Clear();
  20.                 Console.WriteLine("Odchytávání chyb:");
  21.                 Console.Write("Číslo <0;255> a: ");
  22.                 string stringA = Console.ReadLine();
  23.                 Console.Write("Číslo <0;255> b: ");
  24.                 string stringB = Console.ReadLine();
  25.                 try
  26.                 {
  27.                     byte byteA = Convert.ToByte(stringA);
  28.                     byte byteB = Convert.ToByte(stringB);
  29.  
  30.                     decimal decA = Convert.ToDecimal(byteA);
  31.                     decimal decB = Convert.ToDecimal(byteB);
  32.  
  33.                     Console.WriteLine("Dělení");
  34.                     Console.WriteLine($"{decA} / {decB} = {decA / decB}");
  35.                 }
  36.                 catch (OverflowException oEx)
  37.                 {
  38.                     vypsaniChyb(oEx, $"Chyba OverflowException! \n{stringA} nebo {stringB} je mimo interval <0;255> !");
  39.  
  40.                 }
  41.                 catch (FormatException fEx)
  42.                 {
  43.                     vypsaniChyb(fEx, $"Chyba FormatException! \n{stringA} nebo {stringB} nemá formát čísla !");
  44.                 }
  45.                 catch (DivideByZeroException dEx)
  46.                 {
  47.                     vypsaniChyb(dEx, $"Chyba DivideByZeroException! \nNulou nelze dělit !");
  48.                 }
  49.  
  50.                 Console.Write("Odenteruj!");
  51.                 Console.ReadLine();
  52.  
  53.                 void vypsaniChyb(Exception e, string hlavniZprava)
  54.                 {
  55.                     Console.ForegroundColor = ConsoleColor.Gray;
  56.                     Console.WriteLine("\n=========================================================-");
  57.                     Console.ForegroundColor = ConsoleColor.Red;
  58.                     Console.WriteLine(hlavniZprava);
  59.  
  60.                     vypsaniDetailuChyby($"  {e.Data}", "e.Data > kolekce, které poskytuje další informace o výjimce, uživatelem definované");
  61.                     vypsaniDetailuChyby($"  {e.HelpLink}", "e.HelpLink > odkaz na soubor nápovědy přidružené k této výjimce");
  62.                     vypsaniDetailuChyby($"  {e.HResult}", "e.HResult > číselná hodnota, která je přiřazena k určité výjimce");
  63.                     vypsaniDetailuChyby($"  {e.InnerException}", "e.InnerException > instance, která způsobila aktuální výjimku");
  64.                     vypsaniDetailuChyby($"  {e.Message}", "e.Message > zpráva, která popisuje aktuální výjimku");
  65.                     vypsaniDetailuChyby($"  {e.Source}", "e.Source > název aplikace nebo objektu, který způsobuje chybu");
  66.                     vypsaniDetailuChyby($"  {e.StackTrace}", "e.StackTrace > řetězcová reprezentace chyby");
  67.                     vypsaniDetailuChyby($"  {e.TargetSite}", "e.TargetSite > metoda, která vyvolala aktuální výjimku");
  68.                     vypsaniDetailuChyby($"  {e}", "e > ");
  69.  
  70.                     Console.ForegroundColor = ConsoleColor.Gray;
  71.                     Console.WriteLine("=========================================================");
  72.                     Console.ForegroundColor = ConsoleColor.Black;
  73.                 }
  74.  
  75.                 void vypsaniDetailuChyby(string chyba, string zpravaChyby)
  76.                 {
  77.                     Console.ForegroundColor = ConsoleColor.Gray;
  78.                     Console.WriteLine("=========================================================");
  79.                     Console.ForegroundColor = ConsoleColor.DarkCyan;
  80.                     Console.WriteLine(zpravaChyby);
  81.                     Console.ForegroundColor = ConsoleColor.Black;
  82.                     Console.WriteLine(chyba);
  83.                 }
  84.             }
  85.         }
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement