精华内容
下载资源
问答
  • try catch 用法

    千次阅读 2017-08-02 10:08:18
    在实际应用中,碰到了一个问题,就是在动态生成一个表格的时候,从后台...这个时候我们就可以使用 try catch 方法 来 处理浏览器的位置错误下面是相对简单的例子:try { foo.bar(); } catch (e) { if (e instanceof E

    在实际应用中,碰到了一个问题,就是在动态生成一个表格的时候,从后台接收到的的数据和表头名称是不同的接口,而表格的id是在表头名称这个接口动态生成的,所以就会导致一个问题,在火狐浏览器中,响应请求比较慢
    这个时候我们就可以使用 try catch 方法 来 处理浏览器的位置错误

    下面是相对简单的例子:

    try {
     foo.bar();
    } catch (e) {
     if (e instanceof EvalError) {
         alert(e.name + ":" + e.message);
     } 
     else if (e instanceof RangeError) {
         alert(e.name + ": " + e.message);
     } 
     // etc 
    }

    关于错误 e 的主要属性 :

    description: 错误描述 (仅IE可用).
    fileName: 出错的文件名 (仅Mozilla可用).
    lineNumber: 出错的行数 (仅Mozilla可用).
    message: 错误信息 (在IE下同description)
    name: 错误类型.
    number: 错误代码 (仅IE可用).
    stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).

    关于 try 的一些 应用场景

    1、浏览器原罪的场合:也就是兼容性场合,因为浏览器兼容性不是程序员能改正的,所以只能try catch:由于不同浏览器的报错提示是不一样的,根据捕获的浏览器的报错提示判断用户的浏览器,然后做出对应的措施,这时候使用try catch是巧妙的办法,如果用if就比较笨拙,因为if通常只能反馈真或假,不能直接反馈浏览器的报错内容。
    2、考虑如下代码。window.a.b是非法的,再跟2对比就没有意义,这样非法的条件,在try catch中仍可以继续运行下去。但在if中window.a.b已经报错,整个页面都会坏掉。如果希望用if写,那么必须先判断window.a是否是合法的,window.a是合法的前提下再判断window.a.b是不是合法的,如果也是合法的,再判断window.a.b是否不等于2,这样是不是很蠢?这时就体现出try catch的妙处了,程序不但知道window.a.b !== 2是假的,而且直接可以知道究竟哪一步就已经是假的。
    再想象一下,有一个变量是json.a.b.c,其中的a/b/c都可能是存在的也可能是不存在的,全看具体情况,这时候你简单的写if (json.a.b.c === 2) {…}是不行的,因为json.a.b就可能已经是非法的,所以你如果用if,就要考虑a是不是非法的、a是合法前提下b是不是非法的,b是合法前提下c是不是非法的。但是json.a.b.c === 2在try中就可以直接写,也就是说,我不关心究竟a/b/c谁是非法的,我只关心json.a.b.c到底是不是等于2,不等于2或者任何一步出错,对我来讲没有区别,反正都是不等于2,我不关心哪步出错,而且程序不会坏掉。这是一种比较省心的写法。
    另外注意,try catch不能做真假判断,只能做非法判断。也就是说:try {1 === 2},虽然1===2是假,但是是合法的,catch不会捕捉到错误,也不会告诉你1 === 2到底是真是假。所以,写在try里的应该是json.a.b.c而不是json.a.b.c === 2。究竟是不是等于2,是后面的事,是if干的事。简单说,try catch用于捕捉报错,当你不关心哪一步错误,只关心有没有错,就用try catch。

    展开全文
  • try catch用法

    2017-05-04 22:09:59
    1.try catch 捕捉不到fatal error致命错误 2.只有抛出异常才能被截获,如果异常抛出了却没有被捕捉到,就会产生一个fatal error。 3.父类可以捕获抛出的子类异常,Exception 可以捕获继承Exception 类型的异常...

    1.try catch 捕捉不到fatal error致命错误

    2.只有抛出异常才能被截获,如果异常抛出了却没有被捕捉到,就会产生一个fatal error。

    3.父类可以捕获抛出的子类异常,Exception 可以捕获继承Exception 类型的异常

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    class ExceptionNew extends Exception{
             
    }
     
    function try_throw($type) {
            if ($type == 1) {
                    throw new ExceptionNew("sunyue");
            }
    }
     
    try {
            try_throw(1);
    catch (Exception $e) {
            echo $e->getMessage();
    }

      

    4.try中的代码一旦抛出异常,代码将停止运行,直接执行catch中的代码

    5.多个catch捕获多个异常

    PHP将查询一个匹配的catch代码块。如果有多个catch代码块,传递给每一个catch代码块的对象必须具有不同类型(或者可以用同一父类去捕获,这样只要一个catch就可以了),这样PHP可以找到需要进入哪一个catch代码块。当try代码块不再抛出异常或者找不到catch能匹配所抛出的异常时,PHP代码就会在跳转最后一个catch的后面继续执行。因为原则4,所以每次其实这能抛出一个异常,一个异常被捕获。

    复制代码
    class ExceptionNew extends Exception{
            
    }
    class MyException extends Exception{
            
    }
    
    function try_throw($type) {
            if ($type == 1) {
                    throw new ExceptionNew("sun");
            }
            if($type > 0){
                    throw new MyException("yue");
            }
    }
    展开全文
  • php try catch用法

    2020-11-21 17:49:28
    php try catch用法? 1.try catch 捕捉不到fatal error致命错误 2.只有抛出异常才能被截获,如果异常抛出了却没有被捕捉到,就会产生一个fatal error 3.父类可以捕获子类抛出的异常 4.try中的代码一旦抛出异常,...

    php try catch用法?

    1.try catch 捕捉不到fatal error致命错误

    2.只有抛出异常才能被截获,如果异常抛出了却没有被捕捉到,就会产生一个fatal error

    3.父类可以捕获子类抛出的异常

    4.try中的代码一旦抛出异常,代码将停止运行,直接执行catch中的代码

    5.多个catch捕获多个异常

    6.PHP将查询一个匹配的catch代码块。如果有多个catch代码块,传递给每一个catch代码块的对象必须具有不同类型(或者可以用同一父类去捕获,这样只要一个catch就可以了),这样PHP可以找到需要进入哪一个catch代码块。当try代码块不再抛出异常或者找不到catch能匹配所抛出的异常时,PHP代码就会在跳转最后一个catch的后面继续执行。因为原则4,所以每次其实这能抛出一个异常,一个异常被捕获。

    7.PHP中try{}catch{}是异常处理,将要执行的代码放入TRY块中,如果这些代码执行过程中某一条语句发生异常,则程序直接跳转到CATCH块中,由$e收集错误信息和显示。任何调用 可能抛出异常的方法的代码都应该使用try语句,Catch语句用来处理可能抛出的异常。

    
     

    复制代码

     < ?php   
     try {   
    $mgr = new CommandManager();   
    $cmd = $mgr->getCommandObject("realcommand");   
    $cmd->execute();   
    } catch (Exception $e) {   
    print $e->getMessage();   
    exit();   
    }   
     ?>   

    复制代码

    展开全文
  • 异常处理——Java的try catch用法

    异常处理——Java的try catch用法

    参考文章:

    (1)异常处理——Java的try catch用法

    (2)https://www.cnblogs.com/1996313xjf/p/5937295.html


    备忘一下。


    展开全文
  • try catch 用法 trycatch 语句是什么? trycatch 可以测试代码中的错误。try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码 trycatch语法 try { // 在此运行代码 } catch(err) { // 在...
  • JS try catch语句一般在什么情况下使用?是必须使用的吗?下面就让小编来给大家介绍一下试用心得。
  • trycatch我们编译运行程序出错的时候,编译器就会抛出异常。抛出异常要比终止程序灵活许多,这是因为的java提供了一个“捕获”异常的的处理器(处理器)对异常情况进行处理。如果没有提供处理器机制,程序就会终止,并...
  • js try catch 用法

    2012-01-19 16:26:48
    js try catch 用法 2011年03月23日    try  {  throw new Error(10,"asdasdasd")  }  catch (e)  {  alert(e.message);  alert(e.description)  alert(e.number)  alert...
  • 程序继续执行java程序处理异常的流程:某个语句抛出异常后,会先将异常抛给目前的函数看有没有try catch语句捕获和处理异常,如果没有则返回上一层函数继续抛出异常看有没有try catch语句,如果也...
  • javascript 的 try catch用法 2011年06月17日    try  {  throw new Error(10,"asdasdasd")  }  catch (e)  {  alert(e.message);  alert(e.description)  alert(e.number)...
  • try catch用法理解

    2019-10-30 11:47:45
    1.try catch 捕捉不到fatal error致命错误 2.只有抛出异常才能被截获,如果异常抛出了却没有被捕捉到,就会产生一个fatal error 3.父类可以捕获子类抛出的异常 复制代码 class ExceptionNew extends Exception{ } ...
  • 小计 try catch用法

    2021-03-04 14:41:31
    try后面可以跟多个catch,但是只执行其中一个catch语句块...public class TryCatch { public static void main(String[] args) { int a[] = new int[10]; try { a[10] = 1; } catch (ArrayIndexOutOfBoundsException e
  • try catch用法 1.设计一个java程序,自定义一个异常类,从键盘输入一个字符串,如果等于“abc”,则抛出异常。 public class MyException(){  public static void main(String[] args){  Scanner sc=new ...
  • js 中try catch用法

    2020-08-11 18:08:31
    try{…}包含块中的代码有错误,则运行catch(err){…}内的代码, 否则不运行catch(err){…}内的代码。 应用范围: 可以用来判断,你可控的错误,也就是说你很清楚知道这里是有可能”出错“的,而且你很清楚知道什么...
  • c# try catch 用法

    千次阅读 2017-04-06 18:00:03
    trycatchfinally1、将预见可能引发异常的代码包含在try语句块中。2、如果发生了异常,则转入catch的执行。catch有几种写法:catch这将捕获任何发生的异常。catch(Exception e)这将捕获任何发生的异常。另外,还提供e...
  • try catch 用法(marksheng)

    2021-04-12 21:02:34
    这个时候我们就可以使用 try catch 方法 来 处理浏览器的位置错误 下面是相对简单的例子: try { foo.bar(); } catch (e) { if (e instanceof EvalError) { alert(e.name + ":" + e.message); }...
  • 一般来说synchronized有三种用法: 一、作用于静态方法 给当前类加锁,又可称之静态方法锁:可以修饰在静态方法名前: public static synchronized void inc() : 又可以修饰在静态方法里的代码块(如下): ...
  • JS try catch用法

    2016-12-03 14:08:00
    try{ //正常执行 }catch(e/*你感觉会出错的 错误类型*/){ // 可能出现的意外 eg:用户自己操作失误 或者 函数少条件 不影响下面的函数执行 // 有时也会用在 比如 focus() 但可恶的ie有可能会第一次没有focus...
  • C++ try catch 用法

    2016-08-15 22:31:54
    一、简单的例子 首先通过一个简单的例子来熟悉C++ 的 try/catch/throw: 1 #include //包含头文件 2 #include 3 double fuc(double x, double y) //定义函数 4 { 5 

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,590
精华内容 636
关键字:

trycatch用法