Skip to content

Commit befba29

Browse files
authored
improvements for error handling
* error handling * bump version
1 parent 0990a7c commit befba29

8 files changed

Lines changed: 251 additions & 186 deletions

File tree

index.js

Lines changed: 65 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,19 @@ class Interpreter
7373
import(filename)
7474
{
7575
return new Promise(function(resolve, reject) {
76-
this.py.import(filename, function(handler, error) {
77-
if (handler)
78-
resolve(handler);
79-
else
80-
reject(error);
81-
});
76+
try
77+
{
78+
this.py.import(filename, function(handler, error) {
79+
if (handler)
80+
resolve(handler);
81+
else
82+
reject(error);
83+
});
84+
}
85+
catch(e)
86+
{
87+
reject(e);
88+
}
8289
}.bind(this));
8390
}
8491

@@ -90,12 +97,19 @@ class Interpreter
9097
call(handler, func, ...args)
9198
{
9299
return new Promise(function(resolve, reject) {
93-
this.py.call(handler, func, ...args, function(result, error) {
94-
if (error)
95-
reject(error);
96-
else
97-
resolve(result);
98-
});
100+
try
101+
{
102+
this.py.call(handler, func, ...args, function(result, error) {
103+
if (error)
104+
reject(error);
105+
else
106+
resolve(result);
107+
});
108+
}
109+
catch(e)
110+
{
111+
reject(e);
112+
}
99113
}.bind(this));
100114
}
101115

@@ -107,12 +121,19 @@ class Interpreter
107121
create(handler, func, ...args)
108122
{
109123
return new Promise(function(resolve, reject) {
110-
this.py.create(handler, func, ...args, function(result, error) {
111-
if (error)
112-
reject(error);
113-
else
114-
resolve(result);
115-
});
124+
try
125+
{
126+
this.py.create(handler, func, ...args, function(result, error) {
127+
if (error)
128+
reject(error);
129+
else
130+
resolve(result);
131+
});
132+
}
133+
catch(e)
134+
{
135+
reject(e);
136+
}
116137
}.bind(this));
117138
}
118139

@@ -129,12 +150,19 @@ class Interpreter
129150
exec(handler, code)
130151
{
131152
return new Promise(function(resolve, reject) {
132-
this.py.exec(handler, code, function(result, error) {
133-
if (error)
134-
reject(error);
135-
else
136-
resolve(result);
137-
});
153+
try
154+
{
155+
this.py.exec(handler, code, function(result, error) {
156+
if (error)
157+
reject(error);
158+
else
159+
resolve(result);
160+
});
161+
}
162+
catch(e)
163+
{
164+
reject(e);
165+
}
138166
}.bind(this));
139167
}
140168

@@ -146,12 +174,19 @@ class Interpreter
146174
eval(handler, code)
147175
{
148176
return new Promise(function(resolve, reject) {
149-
this.py.eval(handler, code, function(result, error) {
150-
if (error)
151-
reject(error);
152-
else
153-
resolve(result);
154-
});
177+
try
178+
{
179+
this.py.eval(handler, code, function(result, error) {
180+
if (error)
181+
reject(error);
182+
else
183+
resolve(result);
184+
});
185+
}
186+
catch(e)
187+
{
188+
reject(e);
189+
}
155190
}.bind(this));
156191
}
157192

package-lock.json

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

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "node-calls-python",
3-
"version": "1.7.4",
3+
"version": "1.7.5",
44
"license": "MIT",
55
"description": "This module lets you run python code inside node without spawning new processes",
66
"authors": [

0 commit comments

Comments
 (0)