This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Source for ticket #167

cc


    

changetime

2012-11-29 02:13:36

component

WG1 - Core

description

(Email from Vincent Manis)

Problem: Raising arbitrary objects as exceptions has been found to be nasty in some other languages (Python and C++ in particular).

This one is a tad speculative, but I'm reluctant to encourage people to write things like `(raise 4)`, because of course it doesn't respect any module boundaries. I think the intent with the descriptions of `raise` and `raise-continuable` was to allow exception hierarchies to be added in WG2 without constraining them here. I would suggest adding a new procedure:

`(make-error-object `''message''` `''obj'' ...`)`

to creates the implementation-defined object `error` is supposed to create, and adding a sentence to the `raise` and `raise-continuable` entries that says "The effect of applying this procedure to an object not created via `make-error-object` is implementation-defined." This allows WG2 to do what it wants regarding exception objects, and to limit the types of exception objects allowed, without breaking anything in WG1. `Error` can be defined as:

{{{
 (define (error message . objs)
   (apply make-error-object message objs))
}}}

id

167

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

wontfix

severity


    

status

closed

summary

Add constructor for error objects

time

2011-05-01 02:51:46

type

defect

Changes

Change at time 2012-11-29 02:13:36

author

cowan

field

comment

newvalue


    

oldvalue

3

raw-time

1354126416995336

ticket

167

time

2012-11-29 02:13:36

Change at time 2012-11-29 02:13:36

author

cowan

field

resolution

newvalue

wontfix

oldvalue


    

raw-time

1354126416995336

ticket

167

time

2012-11-29 02:13:36

Change at time 2012-11-29 02:13:36

author

cowan

field

status

newvalue

closed

oldvalue

reopened

raw-time

1354126416995336

ticket

167

time

2012-11-29 02:13:36

Change at time 2012-11-29 02:13:30

author

cowan

field

comment

newvalue


    

oldvalue

2

raw-time

1354126410175644

ticket

167

time

2012-11-29 02:13:30

Change at time 2012-11-29 02:13:30

author

cowan

field

resolution

newvalue


    

oldvalue

fixed

raw-time

1354126410175644

ticket

167

time

2012-11-29 02:13:30

Change at time 2012-11-29 02:13:30

author

cowan

field

status

newvalue

reopened

oldvalue

closed

raw-time

1354126410175644

ticket

167

time

2012-11-29 02:13:30

Change at time 2011-07-10 18:19:54

author

alexshinn

field

comment

newvalue

We voted no.

oldvalue

1

raw-time

1310296794000000

ticket

167

time

2011-07-10 18:19:54

Change at time 2011-07-10 18:19:54

author

alexshinn

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1310296794000000

ticket

167

time

2011-07-10 18:19:54

Change at time 2011-07-10 18:19:54

author

alexshinn

field

status

newvalue

closed

oldvalue

new

raw-time

1310296794000000

ticket

167

time

2011-07-10 18:19:54