Skip to content

Commit c953e0b

Browse files
Salakarfacebook-github-bot
authored andcommitted
JSStackTrace -> Ensure lineNumber exists before consuming (#24399)
Summary: Fixes #24382 [ANDROID] [INTERNAL] - Fixed a `NoSuchKeyException` when parsing JS stack frames without line numbers. Pull Request resolved: #24399 Differential Revision: D14890746 Pulled By: cpojer fbshipit-source-id: cea3653076484ad624084c370439f8a39c303083
1 parent 3b1760d commit c953e0b

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java

+13-2
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,26 @@ public static String format(String message, ReadableArray stack) {
2424
stringBuilder
2525
.append(frame.getString("methodName"))
2626
.append("@")
27-
.append(parseFileId(frame))
28-
.append(frame.getInt("lineNumber"));
27+
.append(parseFileId(frame));
28+
29+
if (frame.hasKey("lineNumber") &&
30+
!frame.isNull("lineNumber") &&
31+
frame.getType("lineNumber") == ReadableType.Number) {
32+
stringBuilder
33+
.append(frame.getInt("lineNumber"));
34+
} else {
35+
stringBuilder
36+
.append(-1);
37+
}
38+
2939
if (frame.hasKey("column") &&
3040
!frame.isNull("column") &&
3141
frame.getType("column") == ReadableType.Number) {
3242
stringBuilder
3343
.append(":")
3444
.append(frame.getInt("column"));
3545
}
46+
3647
stringBuilder.append("\n");
3748
}
3849
return stringBuilder.toString();

0 commit comments

Comments
 (0)