Skip to content

Commit db3c556

Browse files
author
nuintun
committed
🎨 Fixed error catch
1 parent 3b15c1d commit db3c556

File tree

7 files changed

+100
-86
lines changed

7 files changed

+100
-86
lines changed

lib/adodb.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/adodb/adodb.js

Lines changed: 44 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @version 2017/11/09
55
*/
66

7-
import { free, stdout, fillRecords } from './utils';
7+
import { free, stdout, stdoutError, fillRecords } from './utils';
88

99
/**
1010
* @namespace ADODB
@@ -28,21 +28,25 @@ export var ADODB = {
2828
// Set CursorLocation
2929
connection.CursorLocation = 3;
3030

31-
// Open
32-
connection.Open(params.connection);
33-
// Execute
34-
connection.Execute(params.sql);
31+
try {
32+
// Open
33+
connection.Open(params.connection);
34+
// Execute
35+
connection.Execute(params.sql);
3536

36-
// Scalar
37-
if (scalarMode) {
38-
recordset.Open(params.scalar, connection, 0, 1);
37+
// Scalar
38+
if (scalarMode) {
39+
recordset.Open(params.scalar, connection, 0, 1);
3940

40-
// fill records
41-
result = fillRecords(recordset);
42-
}
41+
// fill records
42+
result = fillRecords(recordset);
43+
}
4344

44-
// Write data
45-
stdout(result);
45+
// Write data
46+
stdout(result);
47+
} catch (error) {
48+
stdoutError(error);
49+
}
4650

4751
// Close database
4852
free(connection);
@@ -60,13 +64,17 @@ export var ADODB = {
6064
// Set CursorLocation
6165
connection.CursorLocation = 3;
6266

63-
// Open
64-
connection.Open(params.connection);
65-
// Query
66-
recordset.Open(params.sql, connection, 0, 1);
67+
try {
68+
// Open
69+
connection.Open(params.connection);
70+
// Query
71+
recordset.Open(params.sql, connection, 0, 1);
6772

68-
// Write data
69-
stdout(fillRecords(recordset));
73+
// Write data
74+
stdout(fillRecords(recordset));
75+
} catch (error) {
76+
stdoutError(error);
77+
}
7078

7179
// Close database
7280
free(recordset);
@@ -84,21 +92,25 @@ export var ADODB = {
8492
// Set CursorLocation
8593
connection.CursorLocation = 3;
8694

87-
// Open
88-
connection.Open(params.connection);
89-
90-
// OpenSchema
91-
if (params.hasOwnProperty('id')) {
92-
recordset = connection.OpenSchema(params.type, params.criteria, params.id);
93-
} else if (params.hasOwnProperty('criteria')) {
94-
recordset = connection.OpenSchema(params.type, params.criteria);
95-
} else {
96-
recordset = connection.OpenSchema(params.type);
95+
try {
96+
// Open
97+
connection.Open(params.connection);
98+
99+
// OpenSchema
100+
if (params.hasOwnProperty('id')) {
101+
recordset = connection.OpenSchema(params.type, params.criteria, params.id);
102+
} else if (params.hasOwnProperty('criteria')) {
103+
recordset = connection.OpenSchema(params.type, params.criteria);
104+
} else {
105+
recordset = connection.OpenSchema(params.type);
106+
}
107+
108+
// Write data
109+
stdout(fillRecords(recordset));
110+
} catch (error) {
111+
stdoutError(error);
97112
}
98113

99-
// Write data
100-
stdout(fillRecords(recordset));
101-
102114
// Close database
103115
free(recordset);
104116
free(connection);

lib/adodb/main.js

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,11 @@
66

77
import './json';
88
import { ADODB } from './adodb';
9-
import { stderr } from './utils';
109

1110
// Command
1211
var command = WScript.Arguments(0);
1312
// Wait stdin
1413
var params = JSON.parse(WScript.StdIn.ReadAll());
1514

1615
// Main
17-
try {
18-
// Call method
19-
ADODB[command](params);
20-
} catch (e) {
21-
var code = e.number;
22-
var message = e.description;
23-
24-
if (!message) {
25-
message = 'Unspecified error, SQL may contain reserved words and symbols, surround it with brackets []';
26-
}
27-
28-
// Write error
29-
stderr({ code: code, message: message });
30-
}
16+
ADODB[command](params);

lib/adodb/utils.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,26 @@ export function stdout(data) {
2727
* @function stderr
2828
* @param {any} data
2929
*/
30-
export function stderr(data) {
30+
function stderr(data) {
3131
WScript.StdErr.Write(JSON.stringify(data));
3232
}
3333

34+
/**
35+
* @function stdoutError
36+
* @param {Error} error
37+
*/
38+
export function stdoutError(error) {
39+
var code = error.number;
40+
var message = error.description;
41+
42+
if (!message) {
43+
message = 'Unspecified error, SQL may contain reserved words and symbols, surround it with brackets []';
44+
}
45+
46+
// Write out error
47+
stderr({ code: code, message: message });
48+
}
49+
3450
/**
3551
* @function isDate
3652
* @param {number} type

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "node-adodb",
3-
"version": "5.0.2",
3+
"version": "5.0.3",
44
"main": "index.js",
55
"license": "MIT",
66
"keywords": [
@@ -36,8 +36,8 @@
3636
},
3737
"devDependencies": {
3838
"chai": "^4.2.0",
39-
"rollup": "^1.21.2",
40-
"terser": "^4.3.1",
39+
"rollup": "^1.32.0",
40+
"terser": "^4.6.4",
4141
"holding": "^3.1.1",
4242
"fs-extra": "^8.1.0"
4343
},

rollup.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ async function build(inputOptions, outputOptions) {
2424
const [result] = output;
2525

2626
const file = outputOptions.file;
27-
const minify = terser.minify(result.code, { ie8: true });
27+
const minify = terser.minify(result.code, { ie8: true, output: { comments: false } });
2828

2929
await fs.outputFile(file, banner + minify.code);
3030

yarn.lock

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
# yarn lockfile v1
33

44

5-
"@types/estree@0.0.39":
6-
version "0.0.39"
7-
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
8-
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
5+
"@types/estree@*":
6+
version "0.0.42"
7+
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.42.tgz#8d0c1f480339efedb3e46070e22dd63e0430dd11"
8+
integrity sha512-K1DPVvnBCPxzD+G51/cxVIoc2X8uUVl1zpJeE6iKcgHMj4+tbat5Xu4TjV7v2QSDbIeAfLi2hIk+u2+s0MlpUQ==
99

10-
"@types/node@^12.7.4":
11-
version "12.7.5"
12-
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.5.tgz#e19436e7f8e9b4601005d73673b6dc4784ffcc2f"
13-
integrity sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==
10+
"@types/node@*":
11+
version "13.7.7"
12+
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.7.tgz#1628e6461ba8cc9b53196dfeaeec7b07fa6eea99"
13+
integrity sha512-Uo4chgKbnPNlxQwoFmYIwctkQVkMMmsAoGGU4JKwLuvBefF0pCq4FybNSnfkfRCpC7ZW7kttcC/TrRtAJsvGtg==
1414

15-
acorn@^7.0.0:
16-
version "7.0.0"
17-
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a"
18-
integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==
15+
acorn@^7.1.0:
16+
version "7.1.1"
17+
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf"
18+
integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==
1919

2020
arch@^2.1.1:
2121
version "2.1.1"
@@ -50,9 +50,9 @@ check-error@^1.0.2:
5050
integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
5151

5252
commander@^2.20.0:
53-
version "2.20.0"
54-
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
55-
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
53+
version "2.20.3"
54+
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
55+
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
5656

5757
debug@^4.1.1:
5858
version "4.1.1"
@@ -83,9 +83,9 @@ get-func-name@^2.0.0:
8383
integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
8484

8585
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
86-
version "4.2.2"
87-
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02"
88-
integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
86+
version "4.2.3"
87+
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
88+
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
8989

9090
holding@^3.1.1:
9191
version "3.1.1"
@@ -109,19 +109,19 @@ pathval@^1.1.0:
109109
resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
110110
integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA=
111111

112-
rollup@^1.21.2:
113-
version "1.21.2"
114-
resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.21.2.tgz#eaabd07d0bd309587ad8bebf731fca6fcb96f4d0"
115-
integrity sha512-sCAHlcQ/PExU5t/kRwkEWHdhGmQrZ2IgdQzbjPVNfhWbKHMMZGYqkASVTpQqRPLtQKg15xzEscc+BnIK/TE7/Q==
112+
rollup@^1.32.0:
113+
version "1.32.0"
114+
resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.0.tgz#c65ce134850aca1ce595fcac07d1dc5d53bf227c"
115+
integrity sha512-ab2tF5pdDqm2zuI8j02ceyrJSScl9V2C24FgWQ1v1kTFTu1UrG5H0hpP++mDZlEFyZX4k0chtGEHU2i+pAzBgA==
116116
dependencies:
117-
"@types/estree" "0.0.39"
118-
"@types/node" "^12.7.4"
119-
acorn "^7.0.0"
117+
"@types/estree" "*"
118+
"@types/node" "*"
119+
acorn "^7.1.0"
120120

121121
source-map-support@~0.5.12:
122-
version "0.5.13"
123-
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
124-
integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
122+
version "0.5.16"
123+
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
124+
integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
125125
dependencies:
126126
buffer-from "^1.0.0"
127127
source-map "^0.6.0"
@@ -131,10 +131,10 @@ source-map@^0.6.0, source-map@~0.6.1:
131131
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
132132
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
133133

134-
terser@^4.3.1:
135-
version "4.3.1"
136-
resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.1.tgz#09820bcb3398299c4b48d9a86aefc65127d0ed65"
137-
integrity sha512-pnzH6dnFEsR2aa2SJaKb1uSCl3QmIsJ8dEkj0Fky+2AwMMcC9doMqLOQIH6wVTEKaVfKVvLSk5qxPBEZT9mywg==
134+
terser@^4.6.4:
135+
version "4.6.4"
136+
resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.4.tgz#40a0b37afbe5b57e494536815efa68326840fc00"
137+
integrity sha512-5fqgBPLgVHZ/fVvqRhhUp9YUiGXhFJ9ZkrZWD9vQtFBR4QIGTnbsb+/kKqSqfgp3WnBwGWAFnedGTtmX1YTn0w==
138138
dependencies:
139139
commander "^2.20.0"
140140
source-map "~0.6.1"

0 commit comments

Comments
 (0)