optional way of automatic native exception wrapping
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- android, cpp, javascript, typescript
- Ambito
- developer-experience, mobile-dev
Direzione di ricerca
Non vengono indicati file, test o punti di ingresso. Inizia individuando la gestione nativa delle eccezioni nell’Android runtime e identificando come vengono configurate le opzioni di runtime. Il lavoro è completato quando un comportamento opzionale, disabilitato per impostazione predefinita, produce un JavaScript Error con l’eccezione nativa e lo stack trace quando un’eccezione nativa raggiunge catch.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- C++
- Stelle
- 33
- Fork
- 3
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NativeScript/napi-android
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
NativeScript/napi-android#37 · 7 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
NativeScript/napi-android#30 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
NativeScript/napi-android#28 ·
-
Handle regular JS Errors Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
NativeScript/napi-android#25 ·
-
Debug and fix memory leaks Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
NativeScript/napi-android#20 ·
Tutte le issue di NativeScript/napi-android
Issue simili
-
AuTest Bug Tests
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/trafficserver#13714 ·
-
bug build
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
facebookincubator/velox#19143 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
tenstorrent/tt-metal#57393 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
objectionary/eo-graphs#74 ·