有沒有辦法攔截類型錯誤並返回自己的值? 考慮的情景: 我有我自己的lib,在中未定義或爲空的情況下返回一定的價值攔截類型錯誤
if (typeof value === 'undefined' || value === null) return Nothing;
因此,如果您使用此
mylib(null) // -> Nothing
mylib(1) // -> Just(1)
這是所有好的,但如果我通過在物體像這樣的不存在的財產
var a = {};
a.b = {};
mylib(a.b.c.d) // -> c is not an Object and does not have property d
// Uncaught TypeError: Cannot read property 'd' of undefined
所以我想要的是攔截類型錯誤並返回Nothing,而我想在native JS和我不想傳入屬性來檢查數組或分隔字符串或其他東西。到目前爲止,我沒有找到辦法做到這一點。
我看到了一些重新定義window.onerror()的例子,但是想知道是否有一種優雅的方式來動態地防止類型錯誤。
你爲什麼要這麼做?如果它會爲所有事情返回相同的錯誤,則無法進行調試。 – putvande
不,我只想要調用mylib() – vodich
這個錯誤發生在調用mylib()之前。那麼你將如何攔截它? :) –