import java.io.*;
public class Test
{
public static void main(String[] args)
{
try
{
throwChecked(3);
throwRuntime(3); //感觉这条没执行,,,
}
catch (RuntimeException re)
{
System.out.println(re.getMessage());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
public static void throwChecked(int a) throws Exception
{
if (a > 0)
{
throw new Exception("ta > 0 ,exception");
}
}
public static void throwRuntime(int a)
{
if (a > 0)
{
throw new RuntimeException("re > 0,Runtime exception");
}
}
}一个try 块只能 一行代码的错误? 我单步调试了一下,发现下面那个 throwRuntime 压根就没进去。直接跳出到程序最后了。
public class Test
{
public static void main(String[] args)
{
try
{
throwChecked(3);
throwRuntime(3); //感觉这条没执行,,,
}
catch (RuntimeException re)
{
System.out.println(re.getMessage());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
public static void throwChecked(int a) throws Exception
{
if (a > 0)
{
throw new Exception("ta > 0 ,exception");
}
}
public static void throwRuntime(int a)
{
if (a > 0)
{
throw new RuntimeException("re > 0,Runtime exception");
}
}
}一个try 块只能 一行代码的错误? 我单步调试了一下,发现下面那个 throwRuntime 压根就没进去。直接跳出到程序最后了。
如果想throwRuntime(3); 来抛出异常,throwChecked(3);就不能有异常
+2 第一个异常就导致main 这个主线程停止了 肯定不会执行 下面的
那就是说,只要 try 块 ;里有一条出现了错误,try 外面没有 循环,这条语句就直接 不执行这条语句下面的语句了咯还是说 再 catch 里操作一下,还有进到try 里的可能?
catch(Exception e)
{
System.out.println(e.getMessage());
}程序遇到异常,,然后打印出e.getMessage()以后就会终止。。try中以下的部分将不会再执行下去
抛出异常表示 只是抛出而不处理。。那就还可以继续往下执行
{
if (a > 0)
{
throw new Exception("ta > 0 ,exception");
}
}
你把这改成a<0.就会出现第二个异常了。。