99%のプログラムが考慮していないネットワーク異常?Fundebugを使用します.notify()自発的に報告する
3621 ワード
最近、99%のプログラムが考慮されていないネットワーク異常を見て、冒頭で述べた.
ほとんどのプログラムはインタフェースが正常に動作するシーンだけを考慮していますが、ユーザーが私たちの製品を使用するときに遭遇した様々な異常は、okのように見えるtry catchに捨てられています.異常な互換性と底辺処理が行われていないと、ユーザー体験に大きな影響を与え、安全と資本損失のリスクを深刻にもたらす.
そこで,GitHub上のいくつかのオープンソース微信ウィジェットを解析したところ,多くのコード異常処理は確かに不十分であることが分かった.ログインインタフェースは成功した場合のみを考慮し、失敗した場合は を考慮しない.ネットワーク要求 を考慮しない.異常を考慮するが適切な処理をしていない .
99%の場合、インタフェースは正常に返され、1%の場合にのみ失敗する可能性があります.深刻なことではないように見えますが、ユーザーのレベルを考えると、このことはそんなに簡単ではありません.100万人のユーザーがいると仮定すると、1万人のユーザーが異常に遭遇し、ユーザーの使用頻度が高い場合、影響は1万人のユーザーだけではない.そして、今の製品はすべて体験が至上で、もしこのような問題に出会ったら、ユーザーはあなたを捨てて、取引先を失ったのは収入を失ったのと同じです.
インタフェースの異常をどのように適切に処理するかは厳粛なことであり,重視されるべきである.
では、どうすればいいのでしょうか.まず、微信オープンインタフェースのパラメータに
次の図は、インタフェース呼び出しに失敗したコールバック関数(
また、公式にも例が示されています.
ウィジェットの稼働状況を完全に把握するため、異常を報告します.Fundebugの微信ウィジェットプラグインは、異常を自動的にキャプチャできるほか、APIインタフェースを介して異常を自発的に報告することもサポートされています.
公式文書によると、
fundebugを使用します.notify()は、Fundebugにカスタムエラーメッセージを送信できます.
name:エラー名、パラメータタイプ文字列
Message:エラー情報、パラメータタイプが文字列
option:オプションオブジェクト、パラメータタイプオブジェクト、追加情報の送信に使用
例:
まずFundebugでウィジェット監視項目を作成し、指示に従ってプラグインにアクセスし、
FundebugのWeChatウィジェットプラグインは、例外をキャプチャして報告します.
そのため、失敗の原因は注文の期限切れであることがわかります.
また、QRコードページに時間がかかりすぎると、エラーメッセージもトリガーされます.
数行のコードを簡単に加えることで、ウィジェットの異常を手のひらで知ることができます.また、Fundebugの微信ウィジェットプラグインは、オンラインJavaScriptの実行異常を監視したり、
FundebugはJavaScript、微信小プログラム、微信小ゲーム、支付宝小プログラム、React Native、Nodeに専念している.jsとJavaのオンライン上でリアルタイムBUGモニタリングを適用します.2016年に双十一が正式にオンラインになってから、Fundebugは累計10億+エラー事件を処理し、有料のお客様はサンシャイン保険、クルミプログラミング、ライチFM、掌門1対1、微脈、青団社など多くのブランド企業があります.無料試用を歓迎します!
転載時に著者Fundebugと本文の住所を明記してください.https://blog.fundebug.com/2019/07/08/report-http-error-by-fundebug-notify/
ほとんどのプログラムはインタフェースが正常に動作するシーンだけを考慮していますが、ユーザーが私たちの製品を使用するときに遭遇した様々な異常は、okのように見えるtry catchに捨てられています.異常な互換性と底辺処理が行われていないと、ユーザー体験に大きな影響を与え、安全と資本損失のリスクを深刻にもたらす.
そこで,GitHub上のいくつかのオープンソース微信ウィジェットを解析したところ,多くのコード異常処理は確かに不十分であることが分かった.
//
wx.login({
success: function() {
wx.getUserInfo({
success: function(res) {
that.globalData.userInfo = res.userInfo;
typeof cb == "function" && cb(that.globalData.userInfo);
}
});
}
});
then
のみを考慮catch
を考慮util.getData(index_api).then(function(data) {
//this.setData({
//
//});
console.log(data);
});
db.collection("config")
.where({})
.get()
.then(res => {
console.log(res);
if (res.data.length > 0) {
Taro.setStorage({
key: "config_gitter",
data: res.data[0]
});
}
})
.catch(err => {
console.error(err);
});
99%の場合、インタフェースは正常に返され、1%の場合にのみ失敗する可能性があります.深刻なことではないように見えますが、ユーザーのレベルを考えると、このことはそんなに簡単ではありません.100万人のユーザーがいると仮定すると、1万人のユーザーが異常に遭遇し、ユーザーの使用頻度が高い場合、影響は1万人のユーザーだけではない.そして、今の製品はすべて体験が至上で、もしこのような問題に出会ったら、ユーザーはあなたを捨てて、取引先を失ったのは収入を失ったのと同じです.
インタフェースの異常をどのように適切に処理するかは厳粛なことであり,重視されるべきである.
要求異常を適切に処理する
では、どうすればいいのでしょうか.まず、微信オープンインタフェースのパラメータに
fail
(「インタフェース呼び出しに失敗したコールバック関数」)とPromiseのcatch
の部分があるなど、要求異常の処理コードを定義する.次に,異常がもたらす可能性のある結果に基づいて,関数で対応する処理を行う.後続の操作に失敗したり、インタフェースにフィードバックがない場合は、failコールバックで正しく処理する必要があります.もしあなたが本当に問題が起こり得ないと思ったら、少なくとも異常報告書を書いてください.たとえ間違いがあったとしても、具体的な状況は知っている.次の図は、インタフェース呼び出しに失敗したコールバック関数(
fail
)を含む微信支払インタフェースのパラメータリストです.また、公式にも例が示されています.
wx.requestPayment({
timeStamp: "",
nonceStr: "",
package: "",
signType: "MD5",
paySign: "",
success(res) {},
fail(res) {}
});
コールバック関数failで例外をレポート
ウィジェットの稼働状況を完全に把握するため、異常を報告します.Fundebugの微信ウィジェットプラグインは、異常を自動的にキャプチャできるほか、APIインタフェースを介して異常を自発的に報告することもサポートされています.
公式文書によると、
fundebugを使用します.notify()は、Fundebugにカスタムエラーメッセージを送信できます.
name:エラー名、パラメータタイプ文字列
Message:エラー情報、パラメータタイプが文字列
option:オプションオブジェクト、パラメータタイプオブジェクト、追加情報の送信に使用
例:
fundebug.notify("Test", "Hello, Fundebug!", {
metaData: {
company: " ",
location: " "
}
});
まずFundebugでウィジェット監視項目を作成し、指示に従ってプラグインにアクセスし、
app.js
のonLaunch
関数の下でwx.requestPayment
を呼び出してテストを行います.FundebugのWeChatウィジェットプラグインは、例外をキャプチャして報告します.
metaData
ラベルには、我々が構成したmetaData、すなわちfail
コールバック関数のres
パラメータも表示されます.そのため、失敗の原因は注文の期限切れであることがわかります.
また、QRコードページに時間がかかりすぎると、エラーメッセージもトリガーされます.
数行のコードを簡単に加えることで、ウィジェットの異常を手のひらで知ることができます.また、Fundebugの微信ウィジェットプラグインは、オンラインJavaScriptの実行異常を監視したり、
wx.request
の要求エラーを自動的にキャプチャしたり、遅いHTTP要求を監視したりすることができます.Fundebugについて
FundebugはJavaScript、微信小プログラム、微信小ゲーム、支付宝小プログラム、React Native、Nodeに専念している.jsとJavaのオンライン上でリアルタイムBUGモニタリングを適用します.2016年に双十一が正式にオンラインになってから、Fundebugは累計10億+エラー事件を処理し、有料のお客様はサンシャイン保険、クルミプログラミング、ライチFM、掌門1対1、微脈、青団社など多くのブランド企業があります.無料試用を歓迎します!
著作権声明
転載時に著者Fundebugと本文の住所を明記してください.https://blog.fundebug.com/2019/07/08/report-http-error-by-fundebug-notify/