Error -- 常用普遍的函數(shù)

今天在公司里看cesium源碼,看到一個(gè)函數(shù),居然是core里面的,Error,雖然里面代碼不多,但是我查了下,用的地方不少,而且看了下源碼,感覺不難,今天就說下

cesium里面屬于是把報(bào)錯(cuò)封裝了一層,每次有報(bào)錯(cuò)的時(shí)候,cesium都會有一個(gè)自己的顯示的報(bào)錯(cuò),看起來賊難看,但是怎么說呢,屬于是人家自己的報(bào)錯(cuò)界面,我就在想了,如果自己寫東西的話,基本都應(yīng)該要有個(gè)這么個(gè)東西,比如加密的東西,不想讓別人知道,要么就是像element一樣,弄個(gè)組件,直接封裝error彈窗,以后想要輸出報(bào)錯(cuò)的時(shí)候,起碼體驗(yàn)會好點(diǎn)

現(xiàn)在就看下cesium里面報(bào)錯(cuò)怎么寫的,因?yàn)槲铱吹闹饕a是viewer.js 里面的,所以就先把DeveloperError拉出來了:

這是github上的,看起來一大堆,但是實(shí)際代碼就那么幾行,把注釋去掉之后就剩這么點(diǎn)了:

就這么30行代碼,算是封裝了一下,里面一個(gè)構(gòu)造函數(shù)把報(bào)錯(cuò)封到里面,如果有報(bào)錯(cuò),try-catch就會捕捉到,然后放到構(gòu)造函數(shù)里面去,然后里面他單獨(dú)寫了一個(gè)toString方法,我剛剛試了下,如果沒有這個(gè)方法,輸出的就會是[object object]?所以才有了上面toString方法,算是把object的toString重寫了下

地址:https://github.com/CesiumGS/cesium/blob/master/Source/Core/DeveloperError.js

????里面基本上可以認(rèn)為是把Error封裝了一下,然后呢,還加了一個(gè)方法,這個(gè)方法就讓我想到了,如果自己經(jīng)常使用的報(bào)錯(cuò),就可以這樣寫,然后到時(shí)候直接調(diào)用就可以了

而且,如果想要弄個(gè)自己的ui放進(jìn)去,也很方便,想要自己搞點(diǎn)事情給老總看,可以console.err一下,這樣,老板發(fā)現(xiàn)不了,也能發(fā)泄下自己的不滿??

? ? 說到console,我記得console有一大堆,剛剛找了下,:

????這都是mdn里的,我只是拉出來,給大家看下,如果想要看具體的,可以看下官網(wǎng)里面,地址:https://developer.mozilla.org/zh-CN/docs/Web/API/Console

????這里有所有的console里的方法,基本我們大家常用的就是console.log了,但是我之前看了下百度,人家后臺,里面有各種各樣的展示,其他大型網(wǎng)站也都有的,而且寫法都挺好看的,大家可以去看看,弄起來跟做了一個(gè)簡易網(wǎng)頁一樣,所以大家想要研究下這個(gè),可以多多看看,當(dāng)然,也可以用到我們今天說的這個(gè)error方法里面的


好了,今天就說到這里了,大家一起學(xué)習(xí),一起來看源碼吧,前端和后端差不多,源碼都是很珍貴的,看到自己項(xiàng)目里,就是自己的,就是經(jīng)驗(yàn),就是錢,所以大家加油吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容