2

这可能是一个非常简单的问题,但只是想了解发生异常时究竟会发生什么,在内存中进行操作时是否存在内存泄漏或它是什么。这不仅尊重python和java,而且适用于所有编程语言

例如:在python中

try:
   "a"+ 1
except Exception,e:
   print "exception" + str(e)

爪哇:

public void FileSave(String name)
{  
   try 
   { 
      FileStream fs = new FileStream(name, FileMode.Create); 
   } 
   catch (Exception)
   { 
      throw new System.IO.IOException("File Open Error!"); 
   }  
}
4

3 回答 3

2

关于 Java,您可以在此处获得更多信息:什么是异常?

于 2013-06-07T07:32:36.217 回答
0
i am telling you a very basic example of exception handling.

请记住,异常是RUN-TIME ERROR,异常会导致我们的程序异常终止。

异常处理机制确保,每当我们的程序内部发生任何异常而不是异常终止时,我们的程序将遵循单独的代码行,然后它将正常终止,

public void FileSave(String name)
    {  
       try 
       { 
          FileStream fs = new FileStream(name, FileMode.Create); 
       } 
       catch (Exception ex)
       { 
          System.out.println(ex.toString()); 
       }  
    }

如果上面的程序是这样写的。

public void FileSave(String name)
        {  
              FileStream fs = new FileStream(name, FileMode.Create); 

        }

并假设文件不存在或操作系统不允许 IO 操作,那么我们的程序将异常终止,但如果我们使用异常处理机制,例如:

public void FileSave(String name)
        {  
           try 
           { 
              FileStream fs = new FileStream(name, FileMode.Create); 
           } 
           catch (Exception ex)
           { 
              System.out.println(ex.toString()); 
           }  
        }

那么当代码中会出现异常时FileStream fs = new FileStream(name, FileMode.Create); , 然后首先检查这个异常是否会在当前函数中被捕获,如果没有,则使用异常传播机制。

参考这个链接。java中的异常处理,仔细阅读,你就知道了。好的概念。

于 2013-06-07T07:38:22.347 回答
0

当程序做一些异常的事情时就会发生异常——这在语言中是不可能的。您可以捕获这些异常并执行代码来处理它。只有在发生异常时才会执行这段特定的代码。

如果你没有捕捉到异常,你的程序的执行将会停止。

异常非常有用,许多程序员希望在他们的代码中出现异常,然后他们可以捕获并编写代码。

在 Python 中比较这两个示例:

a = "foo"
b = 42

if isinstance(a, int):
    c = a + b
else:
    c = a + str(b)
print c

try:
    c = a + b
except TypeError, e:
    c = a + str(b)
print c

在您的 Java 示例中,您正在抛出一个新的(未处理的)异常。该程序将停止,因为您没有捕获该异常。

于 2013-06-07T07:42:05.360 回答