Skip to content

Commit 7077e2f

Browse files
committed
Update docs for errors
1 parent 0684ec7 commit 7077e2f

22 files changed

+823
-159
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
local status, err = pcall(function()
2+
-- snippet_start
3+
local base_server_error = box.error.new({ code = 500,
4+
reason = 'Base server error',
5+
type = 'BaseServerError' })
6+
local storage_server_error = box.error.new({ code = 507,
7+
reason = 'Not enough storage',
8+
type = 'StorageServerError' })
9+
10+
base_server_error:set_prev(storage_server_error)
11+
--[[
12+
---
13+
...
14+
--]]
15+
16+
box.error(base_server_error)
17+
--[[
18+
---
19+
- error: Base server error
20+
...
21+
--]]
22+
23+
box.error.last().prev:unpack()
24+
--[[
25+
---
26+
- code: 507
27+
base_type: CustomError
28+
type: StorageServerError
29+
custom_type: StorageServerError
30+
message: Not enough storage
31+
trace:
32+
- file: '[string "storage_server_error = box.error.new({ code =..."]'
33+
line: 1
34+
...
35+
--]]
36+
-- snippet_end
37+
end)
38+
39+
-- Tests
40+
local luatest = require('luatest')
41+
local test_group = luatest.group()
42+
test_group.test_error_is_raised = function()
43+
luatest.assert_equals(err:unpack().type, 'BaseServerError')
44+
luatest.assert_equals(err:unpack().message, 'Base server error')
45+
luatest.assert_equals(err.prev:unpack().type, 'StorageServerError')
46+
luatest.assert_equals(err.prev:unpack().message, 'Not enough storage')
47+
end
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
local status, err = pcall(function()
2+
-- snippet_start
3+
box.error('CustomConnectionError', '%s cannot connect to the port %u', 'client', 8080)
4+
--[[
5+
---
6+
- error: client cannot connect to the port 8080
7+
...
8+
--]]
9+
-- snippet_end
10+
end)
11+
12+
-- Tests
13+
local luatest = require('luatest')
14+
local test_group = luatest.group()
15+
test_group.test_error_is_raised = function()
16+
luatest.assert_equals(err:unpack().type, 'CustomConnectionError')
17+
luatest.assert_equals(err:unpack().message, 'client cannot connect to the port 8080')
18+
end
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
local status, err = pcall(function()
2+
-- snippet_start
3+
box.error('CustomConnectionError', 'cannot connect to the given port')
4+
--[[
5+
---
6+
- error: cannot connect to the given port
7+
...
8+
--]]
9+
-- snippet_end
10+
end)
11+
12+
-- Tests
13+
local luatest = require('luatest')
14+
local test_group = luatest.group()
15+
test_group.test_error_is_raised = function()
16+
luatest.assert_equals(err:unpack().type, 'CustomConnectionError')
17+
luatest.assert_equals(err:unpack().message, 'cannot connect to the given port')
18+
end
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
local status, err = pcall(function()
2+
-- snippet_start
3+
box.error { code = 500,
4+
reason = 'Internal server error',
5+
type = 'CustomInternalError' }
6+
--[[
7+
---
8+
- error: Internal server error
9+
...
10+
--]]
11+
-- snippet_end
12+
end)
13+
14+
-- Tests
15+
local luatest = require('luatest')
16+
local test_group = luatest.group()
17+
test_group.test_error_is_raised = function()
18+
luatest.assert_equals(err:unpack().type, 'CustomInternalError')
19+
luatest.assert_equals(err:unpack().message, 'Internal server error')
20+
end
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
local status, err = pcall(function()
2+
-- snippet_start
3+
box.error { code = 500, reason = 'Custom server error' }
4+
--[[
5+
---
6+
- error: Custom server error
7+
...
8+
--]]
9+
-- snippet_end
10+
end)
11+
12+
-- Tests
13+
local luatest = require('luatest')
14+
local test_group = luatest.group()
15+
test_group.test_error_is_raised = function()
16+
luatest.assert_equals(err:unpack().message, 'Custom server error')
17+
end
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
local status, err = pcall(function()
2+
local custom_error = box.error.new('CustomInternalError', 'Internal server error')
3+
4+
box.error(custom_error)
5+
--[[
6+
---
7+
- error: Internal server error
8+
...
9+
--]]
10+
end)
11+
12+
-- Tests
13+
local luatest = require('luatest')
14+
local test_group = luatest.group()
15+
test_group.test_error_is_raised = function()
16+
luatest.assert_equals(err:unpack().type, 'CustomInternalError')
17+
luatest.assert_equals(err:unpack().message, 'Internal server error')
18+
end
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
local status, err = pcall(function()
2+
local custom_error = box.error.new({ code = 500,
3+
reason = 'Internal server error',
4+
type = 'CustomInternalError' })
5+
6+
box.error(custom_error)
7+
--[[
8+
---
9+
- error: Internal server error
10+
...
11+
--]]
12+
end)
13+
14+
-- Tests
15+
local luatest = require('luatest')
16+
local test_group = luatest.group()
17+
test_group.test_error_is_raised = function()
18+
luatest.assert_equals(err:unpack().type, 'CustomInternalError')
19+
luatest.assert_equals(err:unpack().message, 'Internal server error')
20+
end
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
local status, err = pcall(function()
2+
-- snippet_start
3+
local custom_error = box.error.new({ code = 500,
4+
reason = 'Internal server error' })
5+
6+
box.error(custom_error)
7+
--[[
8+
---
9+
- error: Internal server error
10+
...
11+
--]]
12+
-- snippet_end
13+
end)
14+
15+
-- Tests
16+
local luatest = require('luatest')
17+
local test_group = luatest.group()
18+
test_group.test_error_is_raised = function()
19+
luatest.assert_equals(err:unpack().type, 'ClientError')
20+
luatest.assert_equals(err:unpack().message, 'Internal server error')
21+
end
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
local status, err = pcall(function()
2+
local custom_error = box.error.new(box.error.CREATE_SPACE, 'my_space', 'the space already exists')
3+
4+
box.error(custom_error)
5+
--[[
6+
---
7+
- error: 'Failed to create space ''my_space'': the space already exists'
8+
...
9+
--]]
10+
end)
11+
12+
-- Tests
13+
local luatest = require('luatest')
14+
local test_group = luatest.group()
15+
test_group.test_tarantool_error_is_raised = function()
16+
luatest.assert_equals(err:unpack().message, "Failed to create space 'my_space': the space already exists")
17+
end
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
local status, err = pcall(function()
2+
local custom_error = box.error.new(box.error.NO_SUCH_USER, 'John')
3+
4+
box.error(custom_error)
5+
--[[
6+
---
7+
- error: User 'John' is not found
8+
...
9+
--]]
10+
end)
11+
12+
-- Tests
13+
local luatest = require('luatest')
14+
local test_group = luatest.group()
15+
test_group.test_tarantool_error_is_raised = function()
16+
luatest.assert_equals(err:unpack().message, "User 'John' is not found")
17+
end

0 commit comments

Comments
 (0)