我的前端React与后端。net/c#交互
用户单击按钮并将int number传递给后端。如果数字是正数则没有问题,但如果是<0则会导致异常。
我可以从后端处理响应。好的,或者回应。状态,但是我不知道如何处理后端错误。
React代码片段:
const requestCalculation = {
calculate: (number) => {
const url = `/calculator/calculate?input=${number}`
return fetch(url).then(response => {
if (response.ok) { return response.text() }
throw new Error('Something went wrong');
}).catch((error) => { console.log(error) });
},
};
return <button onClick={
try{var promise = requestCalculation.calculate(-1); }
catch(error){
throw new Error(error.message);
}> Click <button />
。. net/c#代码片段(只对应方法):
public int calculate(int input) {
if(input<0) throw new Exception("Negative numbers are not allowed");
int[] res = new int[input];
/*
some calculation
*/
return res[input];
}
在。net中,你可以使用AddProblemDetails工厂,这是微软的建议,用来描述API应该如何处理异常。要添加异常处理程序,您应该在Program.cs中创建问题详细信息工厂并覆盖它。.
这是如何使用它的一个例子。
在React端你也可以这样做
export abstract class YourExceptionHandler {
public static HandleException(error: Error) {
//switch case stuff
}