mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-08-16 16:59:01 +02:00
Exception stack trace support also for normal JS and not only NodeJS
This commit is contained in:
parent
8bd9ed19c2
commit
5b1e486aba
@ -882,18 +882,14 @@ type
|
|||||||
TJSError = Class external name 'Error' (TJSObject)
|
TJSError = Class external name 'Error' (TJSObject)
|
||||||
private
|
private
|
||||||
FMessage: String; external name 'message';
|
FMessage: String; external name 'message';
|
||||||
{$ifdef NodeJS}
|
|
||||||
FStack: JSValue; external name 'stack';
|
FStack: JSValue; external name 'stack';
|
||||||
{$endif}
|
|
||||||
Public
|
Public
|
||||||
Constructor new;
|
Constructor new;
|
||||||
Constructor new(Const aMessage : string);
|
Constructor new(Const aMessage : string);
|
||||||
Constructor new(Const aMessage,aFileName : string);
|
Constructor new(Const aMessage,aFileName : string);
|
||||||
Constructor new(Const aMessage,aFileName : string; aLineNumber : NativeInt);
|
Constructor new(Const aMessage,aFileName : string; aLineNumber : NativeInt);
|
||||||
Property Message : String Read FMessage;
|
Property Message : String Read FMessage;
|
||||||
{$ifdef NodeJS}
|
|
||||||
Property Stack: JSValue read FStack;
|
Property Stack: JSValue read FStack;
|
||||||
{$endif}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TJSPromise = class;
|
TJSPromise = class;
|
||||||
|
@ -116,9 +116,7 @@ type
|
|||||||
private
|
private
|
||||||
fMessage: String;
|
fMessage: String;
|
||||||
fHelpContext: Integer;
|
fHelpContext: Integer;
|
||||||
{$ifdef NodeJS}
|
FJSError: TJSError;
|
||||||
FNodeJSError: TJSError;
|
|
||||||
{$endif}
|
|
||||||
public
|
public
|
||||||
class var
|
class var
|
||||||
LogMessageOnCreate : Boolean;
|
LogMessageOnCreate : Boolean;
|
||||||
@ -130,8 +128,9 @@ type
|
|||||||
function ToString: String; override;
|
function ToString: String; override;
|
||||||
property HelpContext: Integer read fHelpContext write fHelpContext;
|
property HelpContext: Integer read fHelpContext write fHelpContext;
|
||||||
property Message: String read fMessage write fMessage;
|
property Message: String read fMessage write fMessage;
|
||||||
|
property JSError: TJSError read FJSError write FJSError;
|
||||||
{$ifdef NodeJS}
|
{$ifdef NodeJS}
|
||||||
property NodeJSError: TJSError read FNodeJSError write FNodeJSError;
|
property NodeJSError: TJSError read FJSError write FJSError; deprecated 'Use JSError';
|
||||||
{$endif}
|
{$endif}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -3034,9 +3033,7 @@ end;
|
|||||||
constructor Exception.Create(const Msg: String);
|
constructor Exception.Create(const Msg: String);
|
||||||
begin
|
begin
|
||||||
fMessage:=Msg;
|
fMessage:=Msg;
|
||||||
{$ifdef nodejs}
|
FJSError:=TJSError.new;
|
||||||
FNodeJSError:=TJSError.new;
|
|
||||||
{$endif}
|
|
||||||
if LogMessageOnCreate then
|
if LogMessageOnCreate then
|
||||||
Writeln('Created exception ',ClassName,' with message: ',Msg);
|
Writeln('Created exception ',ClassName,' with message: ',Msg);
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user