vs常用的断点排错
使用vs的断点来进行排错
在开发web.Mvc项目中,各个层面都有不同的连接方法,在页面于控制器这两个层面之间连接是靠页面调用控制器的方法来进行提交数据给控制器中的方法,例如提交的路径中的地址,在指定的控制器中找不到就会达不到效果,如图所示:
JAVAScript代码,这里使用了JQuery的插件的Post提交方法,第一个参数是提交数据的路径,可以是绝对路径也可以是相对路径,这里我使用的是相对路径,是指定某个控制器里面的UserLogin方法,第二个参数是要提交的数据,数据的格式是Json格式,键值对的格式,上面的formDate是上面的代码已经准备好了的数据,第三个就是回调函数,是接收你提交过去数据的控制器方法所返回的值。再来看下面是上面传递过去的数据对的应控制器方法
如图所示:
可以看到方法名称是跟JavaScript那边是一样的,这样一样计算机就知道它要把数据传道哪里了,然我们运行以下项目就可以看到能跳道该方法里面来,如图所示:
出现上面的样式就说明数据提交过来了,但是方法没有能接收数据的字段,数据没有被接收到,但是这不会出现异常,接下来看执行完这个方法之后得到得返回值是什么。
执行完这个方法,我们得到的是一串字符串,我们把它进行返回给JavaScript
这样Javascript那边的那个data参数就接收到了那个字符串,如果是数组,那么接收的就是数组的数据,data是一个自定义的变量,你可以用其他名称代替,效果是一样的,得到返回得数据了,接下来让我们输出看一下,是不是接收到了。
可以看到输出得正是那串字符串·。
当选择路径不对时会提交不过去的,还有另外一种情况就是我路径没有写错,但就是提交不过去的时候,这时候你要看你写的方法需不需要参数,如果方法需要参数u,但是你不给参数的话,也是提交不过去的,如图所示:
没有提交参数的提交代码
需要参数的控制器方法,当我执行提交的时候就会跳不过去,而且会出现一下报错
这种错误出现的概率很高,并且你不能之间知道你是哪里出错了,比如你有很多个参数的时候,只要有一个参数没有对应提交过来都会报错,让我们给一个参数试试看能不能跳过来
传输数据用键值对的格式进行传输,键是对应方法的变量名称,如果不对应,控制器的方法也是接收不到的。传输过去之后
那个参数就接收到了那个值“0”,控制器方法接收到以后,我们可以在那个方法里进行使用,
想干什么就干什么了。
这是最开始的排错
中间的报错可以用一个try catch来进行补抓,然后输出就可以了,格式如下
当try里面的代码出现错误断点位置会直接跳到catch里面的代码去执行。这样我们就能全方面判断代码出错了。