您好,登錄后才能下訂單哦!
這篇文章的內容主要圍繞如何進行.net Core API異常信息返回處理進行講述,文章內容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
C#中我們如果操作過程中出現錯誤一勝敗都用throw拋出異常,然后前端接收到后會直接顯示出來服務端拋出的異常是什么。先看一下未修改前的使用效果
我們直接在.net Core的API里設置校驗的通訊時間和簽名,如果不對直接拋出異常。
C# .net Core的代碼
Android的代碼的顯示效果
在android中我們直接看到i當rsp.body()返回的是空,我們就直接捕獲到錯誤的信息顯示出來
看看運行的時候效果
可以看到已經出來異常了,但是顯示注冊失敗后面一串XML的信息,
在服務端拋的異常是
或
并不是我們想到的結果,我也看不出來到底是什么原因,錯誤出現在哪。遇到空上的情況我們應該怎么處理呢
修改服務端代碼
如果想要實現服務端拋出的異常在前端能接收到,我們需要在服務端進行修改。在.net Core里面Startup.cs文件里的Configure進行處理一下。
可以看到,原來的處理里面通過app.UseExceptionHandler直接就跳轉到一個錯誤頁面,所以也造成了接收到的數據是一些XML的數據。我們現在把這里改造一下。
我們先把這上面這一段屏蔽了
然后重新寫一個app.UserExeceptionHandler
app.UseExceptionHandler(t =>
{
t.Run(async context =>
{
var ex = context.Features.Get<IExceptionHandlerFeature>()?.Error;
string msg = ex == null ? "發生錯誤。" : ex.Message;
context.Response.ContentType = "text/plain;charset=utf-8";
await context.Response.WriteAsync(msg);
});
});
然后我們重新編譯和發布一下
我們再次用android程序調用一下,看看
可以看出來,上面拋出的異常信息已經可以在前端接收到顯示出來了。
感謝你的閱讀,相信你對“如何進行.net Core API異常信息返回處理”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。