我想知道,但仍然想知道如何“正确地”捕获函数中的错误,更准确地说,如果过程中发生错误,如何正确返回函数执行的结果。
例如:上面有一个表格 datagirdview 和一个按钮 button1
任务是通过按下按钮来填写 datagirdview,例如,使用俄罗斯地区的名称和来自其余服务的索引。[54,“新西伯利亚”]
为方便起见,我创建了一个单独的类文件并尝试将所有“数学”保留在那里,因此我与直接在主线程中使用表单控件隔离。
我们创建了一个向其他人发送请求的函数,理想情况下应该以 json 格式接收响应并返回一个包含我们需要的信息的列表
class Regions{
public string id{get;set}
public string title{get;set}
}
public static List<Regions> GetRegions(){
try{
WebRequest link = WebRequest.Create(@"link")
....
}
进一步我们收到答案,我们创建副本。类,解析json,填写并返回。
现在问题本身:如果由于某种原因在请求期间发生错误,那么我需要返回一个空的类实例或用错误填充它。然后我还必须在表单本身上检查这一点。
如何正确而精美地实施这项检查?
您可以尝试创建一个描述执行该方法的结果的类,而不是
public static List<Regions> GetRegions(){//code}使用public static Response GetRegions(){//code}响应示例:
在表单本身上,检查 Response.rStatus
不要害怕例外。
当发生超出类的责任范围的错误时,应使用异常来处理。也就是说,您有一个应该返回结果的函数,而错误根本不允许您确定此结果。在这种情况下,你抛出一个异常并且不关心你返回什么。错误不是空结果,而是错误,无论如何,你不应该在这个类中处理它,而应该在顶层处理它。
你有两个选择: