这可能是一个非常简单的问题,但只是想了解在发生异常时究竟发生了什么,在内存中执行操作时是否存在内存泄漏或者它是什么。这不仅仅是对python和java的尊重但对于所有编程语言
for ex:in 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!");
}
}
答案 0 :(得分:2)
关于Java,您可以在此处获取更多信息:What is an Exception?
答案 1 :(得分:2)
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);
}
并且假设文件不存在或OS不允许进行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); 中发生异常时,首先会检查是否会在当前函数中捕获此异常或NOT,否则将使用异常传播机制。
参考此链接。 exception handling in java,仔细阅读,你会知道一个不。好的概念。
答案 2 :(得分: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示例中,您将抛出一个新的(未处理的)异常。该程序将暂停,因为您没有捕获该异常。