Skip to content

Commit 9cea4bd

Browse files
Merge pull request #75 from Mental-FIUBA/ISSUE-74_create_new_error_type
ISSUE-74: create a new error type with code as attribute
2 parents 07697f0 + 865e172 commit 9cea4bd

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

src/Class/AfipWebService.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const path = require('path');
22

3+
34
/**
45
* Base class for AFIP web services
56
**/

src/Class/AfipWebServiceError.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
module.exports = class AfipWebServiceError extends Error {
3+
code;
4+
5+
constructor(message, code) {
6+
super(message);
7+
this.code = code;
8+
}
9+
}

src/Class/ElectronicBilling.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const AfipWebService = require('./AfipWebService');
2+
const AfipWebServiceError = require('./AfipWebServiceError');
23

34
/**
45
* SDK for AFIP Electronic Billing (wsfe1)
@@ -401,7 +402,7 @@ module.exports = class ElectronicBilling extends AfipWebService {
401402

402403
if (res.Errors) {
403404
const err = Array.isArray(res.Errors.Err) ? res.Errors.Err[0] : res.Errors.Err;
404-
throw new Error(`(${err.Code}) ${err.Msg}`, err.Code);
405+
throw new AfipWebServiceError(`(${err.Code}) ${err.Msg}`, err.Code);
405406
}
406407
}
407408

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export = AfipWebServiceError;
2+
3+
declare class AfipWebServiceError extends Error {
4+
code?: number;
5+
6+
constructor(message: string, code?: number);
7+
}

0 commit comments

Comments
 (0)