| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- return {
- tag = 'callbacks',
- summary = 'Called when an error occurs.',
- description = [[
- The "lovr.errhand" callback is run whenever an error occurs. It receives two
- parameters. The first is a string containing the error message. The second is either
- nil, or a string containing a traceback (as returned by "debug.traceback()"); if nil,
- this means "lovr.errhand" is being called in the stack where the error occurred,
- and it can call "debug.traceback()" itself.
- "lovr.errhand" should return a handler function to run in a loop to show
- the error screen. This handler function is of the same type as the one returned by
- "lovr.run" and has the same requirements (such as pumping events). If an error occurs
- while this handler is running, the program will terminate immediately--
- "lovr.errhand" will not be given a second chance. Errors which occur inside "lovr.errhand"
- or in the handler it returns may not be cleanly reported, so be careful.
- A default error handler is supplied that renders the error message as text to the headset and
- to the window.
- ]],
- arguments = {
- {
- name = 'message',
- type = 'string',
- description = 'The error message.'
- },
- {
- name = 'traceback',
- type = 'string',
- description = 'A traceback string, or nil.'
- }
- },
- returns = {
- {
- name = 'handler',
- type = 'function',
- arguments = {},
- returns = {
- {
- name = 'result',
- type = '*'
- }
- },
- description = [[
- The error handler function. It should return nil to continue running, "restart" to restart the
- app, or a number representing an exit status.
- ]]
- }
- },
- example = [[
- function lovr.errhand(message, traceback)
- traceback = traceback or debug.traceback('', 3)
- print('ohh NOOOO!', message)
- print(traceback)
- return function()
- lovr.graphics.print('There was an error', 0, 2, -5)
- end
- end
- ]],
- related = {
- 'lovr.quit'
- }
- }
|