Summary: Line number and file name of Exception instantiation
           Product: D
           Version: 2.040
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: druntime

--- Comment #0 from 2010-03-05 11:53:25 PST ---
I suggest to add to Exception (so later it can be shown if uncaught) the line
number and file name where it was instantiated:

void foo() {
    auto e = new Exception(""); // instantiation line number here
    throw e;
void main() {

Exceptions get caught, rethrown, stored, etc. But in many cases they are
instantiated close to where their cause is. So knowing such line number can be
useful (if you are using a debugger this is not so useful).

The compiler fills such fields automatically, so the syntax usage of Exception
is unchanged. Such fields can be immutable, and eventually they can be read by
user code too.

The name and file name added increases the size of the Exception instances (and
the binary size too a little), but I think this can't cause problems in normal

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to