optional way of automatic native exception wrapping
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- android, cpp, javascript, typescript
Línea de trabajo
No se indican archivos, tests ni puntos de entrada. Empieza por localizar el manejo de excepciones nativas en el Android runtime e identificar cómo se configuran las opciones de runtime. Se considera terminado cuando un comportamiento opcional, deshabilitado de forma predeterminada, produce un JavaScript Error con la excepción nativa y el stack trace cuando una excepción nativa llega a catch.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Right now in the runtimes when a native exception is thrown which you catch with a try/catch it is the native exception object that you get.
So in my apps/N fork i use something like this:
export function wrapNativeException<T = any>(ex: NSError, wrapError: (...args) => T = (msg) => new Error(msg) as any) {
if (!ex) {
return;
}
if (typeof ex === 'string') {
return wrapError(ex);
}
if (!(ex instanceof Error)) {
const err = wrapError(ex.toString());
err['nativeException'] = ex;
//@ts-ignore
err['stackTrace'] = com.tns.NativeScriptException.getStackTraceAsString(ex);
return err;
}
return ex;
}
That method wraps the native exception in a JS error with stackTrace.
Would be pretty awesome to have that done automatically so that the error object you get in catch is an actual JS Error.
I think for now if we can do it it should be optional and disabled by default
- Lenguaje dominante
- C++
- Estrellas
- 33
- Forks
- 3
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NativeScript/napi-android
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NativeScript/napi-android#37 · 7 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
NativeScript/napi-android#30 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
NativeScript/napi-android#28 ·
-
Handle regular JS Errors Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
NativeScript/napi-android#25 ·
-
Debug and fix memory leaks Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
NativeScript/napi-android#20 ·
Todos los issues de NativeScript/napi-android
Issues similares
-
[BUG] Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
eunomia-bpf/llvmbpf#51 · 1 comentario ·
-
status:needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
PX4/PX4-Autopilot#28776 ·
-
Website Doc Typo Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 92/100
autowarefoundation/autoware_universe#13413 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100