The pretty print error printer can just be made to take a stacktrace
instead of some Erlware defined exception.

On Sat, Mar 26, 2011 at 6:24 PM, Martin Logan <martinjlo...@gmail.com> wrote:
> Well, if stack traces now give line numbers than any exception can be
> caught and then print_stacktrace can be ran and line numbers and
> filenames will be there for the user to format in whatever way they
> want.
>
> On Fri, Mar 25, 2011 at 4:22 PM, Eric Merritt <ericbmerr...@gmail.com> wrote:
>> The line number can go away thats true. However, this doesn't actually
>> remove the need for what I am talking about here. This is about
>> getting nice user readable strings. Hmmm, but maybe its more important
>> to give more complete error information and letting the catcher make
>> the strings. In any case, as awesome as this is (and it is damn
>> awesome) it doesn't actually have much impact on this discussion.
>>
>> On Fri, Mar 25, 2011 at 4:14 PM, Martin Logan <martinjlo...@gmail.com> wrote:
>>> Not required anymore. Have you guys seen the latest twitter stuff from
>>> Erlang factory. The Erlang/OTP team is adding file and line number as
>>> compile time info to the AST. Sasl dumps will have the info!!!!!!
>>>
>>> On Fri, Mar 25, 2011 at 3:57 PM, Eric Merritt <ericbmerr...@gmail.com> 
>>> wrote:
>>>> I am fine with {Module, Line, Term}, It matches the existing thing better.
>>>>
>>>> As for function, if you want that you always have access to the stack
>>>> trace. So i don't thing there is really a need to go to that depth.
>>>> The module is mainly there so you can do the whole Module:format_error
>>>> thing.
>>>>
>>>> Why make the exception a record?
>>>>
>>>> On Mon, Mar 21, 2011 at 10:50 AM, Martin Logan <martinjlo...@gmail.com> 
>>>> wrote:
>>>>> I think for errors it could be a bit much. If you were to use such a
>>>>> thing for errors then the tagging atom should be unique, not just
>>>>> error, to distinguish it from errors that don't use that format. For
>>>>> exceptions however, I agree, it is not overkil. I think we should go
>>>>> {Module, Line, Term} however as the ordering makes more sense to me.
>>>>> We could also think about optionally adding in Function (the function
>>>>> that generated the exception) in certain cases, perhaps optional for
>>>>> efficiencies sake, but that may just be too complex. You don't
>>>>> actually gain anything by putting it in first position because it is a
>>>>> tuple which leads me to the next change I would make. I would make the
>>>>> exception a record.
>>>>>
>>>>> On Mon, Mar 21, 2011 at 10:24 AM, Eric Merritt <ericbmerr...@gmail.com> 
>>>>> wrote:
>>>>>> Guys,
>>>>>>
>>>>>>  I propose that we adopt the stdlib approach to errors printing with a
>>>>>> couple of changes. Right now it is very common for things in kernel
>>>>>> and stdlib to throw exceptions lie.
>>>>>>
>>>>>> {error, {Line, Mod, Term}}
>>>>>>
>>>>>> and then provide a function called format_error in the module called
>>>>>> named by 'Mod' to convert that into a string. I think we should do the
>>>>>> same but with a couple of differences in the organization. I would
>>>>>> like the reason to be more accessible at runtime so, they can be
>>>>>> matched on. The printing of an error message is secondary to
>>>>>> understand why something is being through. Also we can drop part of
>>>>>> this, in general we have the policy to throw exceptions instead of
>>>>>> returning errors. In those cases, the 'error' is not needed its
>>>>>> already a thrown exception.
>>>>>>
>>>>>> throw({pe, Reason::term(), {Mod::module(), Line::integer()}})
>>>>>>
>>>>>> In those few cases, where we explicitly return errors we may do the 
>>>>>> following
>>>>>>
>>>>>> {error, {pe, Reason::term(), {Mod::module(), Line::integer()}}
>>>>>>
>>>>>> In both these cases the pe indicates that an exception is printable
>>>>>> using the method described above.
>>>>>>
>>>>>> I would like some consistent means of getting user readable exceptions
>>>>>> from the things that throw them. What do you guys think? Overkill?
>>>>>>
>>>>>> Eric
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "erlware-dev" group.
>>>>>> To post to this group, send email to erlware-dev@googlegroups.com.
>>>>>> To unsubscribe from this group, send email to 
>>>>>> erlware-dev+unsubscr...@googlegroups.com.
>>>>>> For more options, visit this group at 
>>>>>> http://groups.google.com/group/erlware-dev?hl=en.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Martin Logan
>>>>> Erlang & OTP in Action (Manning) http://manning.com/logan
>>>>> http://twitter.com/martinjlogan
>>>>> http://erlware.org
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Martin Logan
>>> Erlang & OTP in Action (Manning) http://manning.com/logan
>>> http://twitter.com/martinjlogan
>>> http://erlware.org
>>>
>>
>
>
>
> --
> Martin Logan
> Erlang & OTP in Action (Manning) http://manning.com/logan
> http://twitter.com/martinjlogan
> http://erlware.org
>



-- 
Martin Logan
Erlang & OTP in Action (Manning) http://manning.com/logan
http://twitter.com/martinjlogan
http://erlware.org

-- 
You received this message because you are subscribed to the Google Groups 
"erlware-dev" group.
To post to this group, send email to erlware-dev@googlegroups.com.
To unsubscribe from this group, send email to 
erlware-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/erlware-dev?hl=en.

Reply via email to