fcamuso

Eccezioni B

Apr 7th, 2021 (edited)
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.80 KB | None | 0 0
  1. using System;
  2.  
  3. namespace try_catch_A
  4. {
  5.   class Razzo
  6.   {
  7.     int AccelerazioneDaFermo { get; set; } // m/sec2
  8.  
  9.     public Razzo(int accelerazioneDaFermo)
  10.     { AccelerazioneDaFermo = accelerazioneDaFermo; }
  11.  
  12.     //public double level1(int velocita) {
  13.     //  double x=-1;
  14.     //  try { x =  level2(velocita); }
  15.     //  catch (DivideByZeroException e)
  16.     //  {
  17.     //    Console.WriteLine(e.StackTrace);
  18.     //  }
  19.     //  return x;
  20.  
  21.     //}
  22.  
  23.     //double level2(int velocita){ return level3(velocita); }
  24.  
  25.     //double level3(int velocita) { return Tempo(velocita); }
  26.  
  27.     public double Tempo(int velocita)
  28.     {
  29.       try
  30.       {
  31.         return velocita / AccelerazioneDaFermo;  //velocita = accelerazione * tempo
  32.       }
  33.  
  34.  
  35.       catch (DivideByZeroException e)
  36.       {
  37.         double x = velocita / AccelerazioneDaFermo;
  38.         Console.WriteLine(e.StackTrace);
  39.       }
  40.  
  41.       catch (OverflowException e)
  42.       {
  43.  
  44.       }
  45.  
  46.       catch (ArithmeticException e)
  47.       {
  48.  
  49.       }
  50.  
  51.       finally
  52.       {
  53.  
  54.         Console.WriteLine("Finally eseguito");
  55.       }
  56.  
  57.       return -1;
  58.     }
  59.   }
  60.  
  61.   class Program
  62.   {
  63.     static void Main(string[] args)
  64.     {
  65.       Razzo apollo = new Razzo(0);
  66.  
  67.       try
  68.       {
  69.         Console.WriteLine($"Servono {apollo.Tempo(10000)} secondi per " +
  70.                            "arrivare alla velocità di 10km/s");
  71.       }
  72.  
  73.       catch (DivideByZeroException e)
  74.       { Console.WriteLine("Eccezione intercettata nel main"); }
  75.  
  76.  
  77.       //try
  78.       //{
  79.       //  Console.WriteLine($"Servono {apollo.Tempo(10000)} secondi per arrivare alla velocità di 10km/s");
  80.       //}
  81.  
  82.       //catch (Exception e) when (e.GetType() != typeof(DivideByZeroException))
  83.       //{
  84.       //  Console.WriteLine("Catturata nel main");
  85.       //}
  86.     }
  87.   }
  88. }
  89.  
Add Comment
Please, Sign In to add comment