這篇文章的內(nèi)容主要圍繞如何進(jìn)行.net Core API異常信息返回處理進(jìn)行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
成都創(chuàng)新互聯(lián)專注于呼瑪網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供呼瑪營銷型網(wǎng)站建設(shè),呼瑪網(wǎng)站制作、呼瑪網(wǎng)頁設(shè)計(jì)、呼瑪網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造呼瑪網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供呼瑪網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
C#中我們?nèi)绻僮鬟^程中出現(xiàn)錯(cuò)誤一勝敗都用throw拋出異常,然后前端接收到后會(huì)直接顯示出來服務(wù)端拋出的異常是什么。先看一下未修改前的使用效果
我們直接在.net Core的API里設(shè)置校驗(yàn)的通訊時(shí)間和簽名,如果不對(duì)直接拋出異常。
C# .net Core的代碼
Android的代碼的顯示效果
在android中我們直接看到i當(dāng)rsp.body()返回的是空,我們就直接捕獲到錯(cuò)誤的信息顯示出來
看看運(yùn)行的時(shí)候效果
可以看到已經(jīng)出來異常了,但是顯示注冊(cè)失敗后面一串XML的信息,
在服務(wù)端拋的異常是
或
并不是我們想到的結(jié)果,我也看不出來到底是什么原因,錯(cuò)誤出現(xiàn)在哪。遇到空上的情況我們應(yīng)該怎么處理呢
修改服務(wù)端代碼
如果想要實(shí)現(xiàn)服務(wù)端拋出的異常在前端能接收到,我們需要在服務(wù)端進(jìn)行修改。在.net Core里面Startup.cs文件里的Configure進(jìn)行處理一下。
可以看到,原來的處理里面通過app.UseExceptionHandler直接就跳轉(zhuǎn)到一個(gè)錯(cuò)誤頁面,所以也造成了接收到的數(shù)據(jù)是一些XML的數(shù)據(jù)。我們現(xiàn)在把這里改造一下。
我們先把這上面這一段屏蔽了
然后重新寫一個(gè)app.UserExeceptionHandler
app.UseExceptionHandler(t =>
{
t.Run(async context =>
{
var ex = context.Features.Get
string msg = ex == null ? "發(fā)生錯(cuò)誤。" : ex.Message;
context.Response.ContentType = "text/plain;charset=utf-8";
await context.Response.WriteAsync(msg);
});
});
然后我們重新編譯和發(fā)布一下
我們?cè)俅斡胊ndroid程序調(diào)用一下,看看
可以看出來,上面拋出的異常信息已經(jīng)可以在前端接收到顯示出來了。
感謝你的閱讀,相信你對(duì)“如何進(jìn)行.net Core API異常信息返回處理”這一問題有一定的了解,快去動(dòng)手實(shí)踐吧,如果想了解更多相關(guān)知識(shí)點(diǎn),可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站!小編會(huì)繼續(xù)為大家?guī)砀玫奈恼拢?/p>
分享文章:如何進(jìn)行.netCoreAPI異常信息返回處理
標(biāo)題路徑:http://weahome.cn/article/ihscsi.html