[SERVER-7087] Investigate exception propagation behavior in V8 Created: 20/Sep/12  Updated: 11/Jul/16  Resolved: 25/Jan/13

Status: Closed
Project: Core Server
Component/s: JavaScript
Affects Version/s: 2.2.0
Fix Version/s: 2.4.0-rc0

Type: Task Priority: Major - P3
Reporter: Eric Milkie Assignee: Tad Marshall
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-8366 mongoToV8Object crashes when converti... Closed
related to SERVER-7843 any V8 error during a query from the ... Closed
Backwards Compatibility: Fully Compatible
Participants:

 Description   

Similar to exception propagation work that was done for SpiderMonkey; ensure that exceptions from callbacks do not adversely affect V8 code. Translate MongoDB C++ exceptions into V8-acceptable JavaScript exceptions.



 Comments   
Comment by auto [ 26/Jan/13 ]

Author:

{u'date': u'2013-01-26T15:25:34Z', u'email': u'tad@10gen.com', u'name': u'Tad Marshall'}

Message: SERVER-8292 SERVER-7843 SERVER-7087 Make tojsonObject handle Error objects

Use the toString() method of Error (and derived) objects to convert them
to strings in tojson() and related functions. These objects have no
enumerable properties, and so display as "{ }" if not handled specially.
Branch: master
https://github.com/mongodb/mongo/commit/7d538d4eae30fd945fc6d4e7cef27ca0da08cf60

Comment by auto [ 25/Jan/13 ]

Author:

{u'date': u'2013-01-25T21:41:49Z', u'email': u'tad@10gen.com', u'name': u'Tad Marshall'}

Message: SERVER-8292 SERVER-7843 SERVER-7087 Better V8 exceptions

Audit all handling of C++ and JavaScript exceptions in V8 interface code.
Pass C++ exception details back to JavaScript similarly to the way this
is done in the SpiderMonkey interface code. Format JavaScript exception
reporting output to be more similar to the output generated in SpiderMonkey.
Add code and macros to make argument testing and throwing of JavaScript
exceptions more uniform. Fix typos in error reporting where the error
names the wrong function. Mimic error text from SpiderMonkey more closely.
Branch: master
https://github.com/mongodb/mongo/commit/41de9044a87c167de4ec2ba5e67f8f735d9f98c9

Generated at Thu Feb 08 03:13:35 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.