On Friday, August 3, 2018 at 9:33:03 PM UTC+3, vdelecroix wrote:
>
>
>
> On 31/07/2018 05:57, Erik Bray wrote: 
> > On Mon, Jul 30, 2018 at 8:34 PM Jeroen Demeyer <j.de...@ugent.be 
> <javascript:>> wrote: 
> >> 
> >> On 2018-07-30 18:31, Erik Bray wrote: 
> >>> This is a bit far-out, but what if we just didn't show tracebacks at 
> >>> all by default? 
> >> 
> >> Sorry to say, but that would be a horrible idea. Even if the tracebacks 
> >> are completely useless for ordinary users, they allow developers to 
> >> debug an issue when posted on a mailing list/asksage. I would avoid 
> >> anything that makes it harder for users to get help from developers. 
> > 
> > I agree but if you read the rest of my message you would see that I 
> > also suggested making it very easy to obtain the actual traceback 
> > (even including instruction for doing so with every error).  That's no 
> > harder--easier even--than what we already ask of users when give them 
> > a path to the error log when Sage crashes on startup. 
> > 
> > To be concrete, instead of seeing: 
> > 
> > sage: 1 / 0 
> > 
> --------------------------------------------------------------------------- 
> > ZeroDivisionError                         Traceback (most recent call 
> last) 
> > <ipython-input-10-b43c99900d8f> in <module>() 
> > ----> 1 Integer(1) / Integer(0) 
> > 
> > 
> /home/embray/src/sagemath/sage-python3/local/lib/python3.6/site-packages/sage/structure/element.pyx
>  
>
> > in sage.structure.element.Element.__truediv__ 
> > (build/cythonized/sage/structure/element.c:13020)() 
> >     1729         cdef int cl = classify_elements(left, right) 
> >     1730         if HAVE_SAME_PARENT(cl): 
> > -> 1731             return (<Element>left)._div_(right) 
> >     1732         if BOTH_ARE_ELEMENT(cl): 
> >     1733             return coercion_model.bin_op(left, right, truediv) 
> > 
> > 
> /home/embray/src/sagemath/sage-python3/local/lib/python3.6/site-packages/sage/rings/integer.pyx
>  
>
> > in sage.rings.integer.Integer._div_ 
> > (build/cythonized/sage/rings/integer.c:13584)() 
> >     1952         """ 
> >     1953         if mpz_sgn((<Integer>right).value) == 0: 
> > -> 1954             raise ZeroDivisionError("rational division by zero") 
> >     1955         x = <Rational> Rational.__new__(Rational) 
> >     1956         mpq_div_zz(x.value, self.value, (<Integer>right).value) 
> > 
> > ZeroDivisionError: rational division by zero 
> > 
> > 
> > users would see: 
> > 
> > sage: 1 / 0 
> > ZeroDivisionError: rational division by zero (enter %tb to see the 
> > full error traceback) 
>
> +1 here, too.
I'd even have

> ZeroDivisionError: rational division by zero (enter %tb to see the 
> full error traceback - important for reporting errors!)  


I am +1 for this having this kind of behavior. There should also be 
> command line arguments to enable/disable this (perhaps --with-traceback 
> and --without-traceback). As for the default I don't really care since 
> the "sage" command on the system can be made anything. 
>
> > As William noted this is already roughly the behavior on SageNB, so I 
> > would wager that it's not a "horrible idea". 
>
> I would even call it a "good idea"! 
>
> Vincent 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to