static void Main(string[] args) { try { WaterHeater heater = new WaterHeater(); heater.SetTemp(42); heater.TurnOnWater(); heater.SetTemp(52); heater.TurnOnWater(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
static void Main(string[] args) { try { WaterHeater heater = new WaterHeater(); heater.SetTemperature(20); heater.TurnOnWater(); heater.SetTemperature(-2); heater.TurnOnWater(); heater.SetTemperature(50); heater.TurnOnWater(); } catch (Exception e) { WriteLine(e.Message); } }
static void Main(string[] args) { try { WaterHeater heater = new WaterHeater(); heater.Setemperature(20); heater.TurnOnWater(); heater.Setemperature(-2); heater.TurnOnWater(); heater.Setemperature(50); // 위의 Setemperature 에 if문에 조건에 해당되므로 예외발생 heater.TurnOnWater(); }catch (Exception e) { Console.WriteLine("e message : {0}", e.Message); } }
static void Main(string[] args) { try { WaterHeater heater = new WaterHeater(); heater.SetTemperature(20); heater.TurnOnWater(); heater.SetTemperature(-2); heater.TurnOnWater(); heater.SetTemperature(50); // 예외 발생! catch 블록으로 실행 위치가 이동 heater.TurnOnWater(); } catch (Exception e) { Console.WriteLine(e.Message); } }
static void Main(string[] args) { try { WaterHeater heater = new WaterHeater(); heater.SetTemp(20); heater.TurnOnWater(); //class WaterHeater에서 protected int temp를 public int temp으로 바꾸면 main문에서 사용가능 heater.SetTemp(-2); heater.TurnOnWater(); heater.SetTemp(50); //42행에서 예외발생 -> 45행의 catch 블록으로 실행위치 이동 heater.TurnOnWater(); } catch (Exception e) { Console.WriteLine(e.Message); } }