Skip to content

Commit 8d90c25

Browse files
committed
Replace bootstrap "Error: Cannot find module ../build/Debug/oracledb" with new message NJS-045.
1 parent 5bf1a56 commit 8d90c25

File tree

4 files changed

+18
-9
lines changed

4 files changed

+18
-9
lines changed

lib/oracledb.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,18 @@ var getConnectionPromisified;
3131
try {
3232
oracledbCLib = require('../build/Release/oracledb');
3333
} catch (err) {
34-
if (err.code === 'MODULE_NOT_FOUND') {
35-
oracledbCLib = require('../build/Debug/oracledb');
36-
} else {
34+
if (err.code !== 'MODULE_NOT_FOUND') {
3735
throw err;
36+
} else {
37+
try {
38+
oracledbCLib = require('../build/Debug/oracledb');
39+
} catch (err) {
40+
if (err.code !== 'MODULE_NOT_FOUND') {
41+
throw err;
42+
} else {
43+
throw new Error(nodbUtil.getErrorMessage('NJS-045'));
44+
}
45+
}
3846
}
3947
}
4048

lib/util.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ var errorMessages = {
3131
'NJS-040': 'NJS-040: connection request timeout',
3232
'NJS-041': 'NJS-041: cannot convert ResultSet to QueryStream after invoking methods',
3333
'NJS-042': 'NJS-042: cannot invoke ResultSet methods after converting to QueryStream',
34-
'NJS-043': "NJS-043: ResultSet already converted to QueryStream"
34+
'NJS-043': "NJS-043: ResultSet already converted to QueryStream",
35+
'NJS-045': "NJS-045: cannot load the oracledb add-on binary"
3536
};
3637

3738
// getErrorMessage is used to get and format error messages to make throwing errors

src/njs/src/njsMessages.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ using namespace std;
3232
#include "njsMessages.h"
3333

3434
// Maximum buffer size to compose error message
35-
#define MAX_ERROR_MSG_LEN 1024
35+
#define NJS_MAX_ERROR_MSG_LEN 1024
3636

3737
static const char *errMsg[] =
3838
{
@@ -77,25 +77,24 @@ static const char *errMsg[] =
7777
"NJS-038: maxArraySize value should be greater than 0", // errInvalidValueArrayBind
7878
"NJS-039: empty array is not allowed for IN bind", // errEmptyArray
7979
"NJS-040: connection request timeout", // errConnRequestTimeout
80-
8180
"NJS-041: cannot convert ResultSet to QueryStream after invoking methods", // errCannotConvertRsToStream
8281
"NJS-042: cannot invoke ResultSet methods after converting to QueryStream", // errCannotInvokeRsMethods
8382
"NJS-043: ResultSet already converted to QueryStream", // errResultSetAlreadyConverted
8483
"NJS-044: named JSON object is not expected in this context", // errNamedJSON
85-
84+
"NJS-045: cannot load the oracledb add-on binary", // errCannotLoadBinary
8685
};
8786

8887
string NJSMessages::getErrorMsg ( NJSErrorType err, ... )
8988
{
90-
char msg[MAX_ERROR_MSG_LEN + 1]; // buffer to get formatted/substituted error msg
89+
char msg[NJS_MAX_ERROR_MSG_LEN + 1]; // buffer to get formatted/substituted error msg
9190
va_list vlist; // variable argument list
9291
std::string str;
9392

9493
if ( err > 0 && err < errMaxErrors )
9594
{
9695
// print all specified arguments
9796
va_start (vlist, err);
98-
if ( vsnprintf (msg, MAX_ERROR_MSG_LEN, errMsg[err], vlist) <= 0)
97+
if ( vsnprintf (msg, NJS_MAX_ERROR_MSG_LEN, errMsg[err], vlist) <= 0)
9998
{
10099
msg[0] = 0;
101100
}

src/njs/src/njsMessages.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ typedef enum
8080
errCannotInvokeRsMethods,
8181
errResultSetAlreadyConverted,
8282
errNamedJSON,
83+
errCannotLoadBinary,
8384

8485
// New ones should be added here
8586

0 commit comments

Comments
 (0)