<div dir="ltr"><div class="gmail_default" style="font-family:monospace">Hello Amber Dev TeaM,</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">I learned a lot about Exceptions in the previous discussion above, so I figured I'd ask this question as well -- when does it make sense 
to handle exceptional cases via a Sealed Type (DivisionResult ====> 
Success(double answer) || DivideByZero()) vs an Exception 
(DivideByZeroException)?</div><div class="gmail_default" style="font-family:monospace"><div dir="ltr"><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">The
 only difference I can see is that an Exception gives you debugging 
details (line number, stack trace) that would be very difficult for a 
Sealed Type to attain. And if that is the key difference, doesn't that 
sort of imply that we should opt into the more info-rich source of 
information wherever possible? After all, debugging is hard enough and more info is to everyone's benefit, right?</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">And most of the extra info 
is static (line numbers don't change). I'll avoid performance as a 
reason, as I don't understand the mechanics of what makes one faster or 
slower.</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">Thank you all for your time and help!</div><div class="gmail_default" style="font-family:monospace">David Alayachew<br></div></div>

</div></div>