summaryrefslogblamecommitdiff
path: root/test/files/run/try-2.scala
blob: da321f26683b6a41bc23ea2141f15c45ed3085b2 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                  





             
                        






                                                        
                        


                                
                                             

     
                       


                        
                                             

     
                         





                                          
                        

















                                        
                         


                        
/*
 * Test different variants of the try-catch block.
 *
 */


object Test {


  def tryAllUnit: Unit =
    try {
      throw new Error();
    }
    catch {
      case _ => Console.println("exception happened\n");
    }

  def tryUnitAll: Unit =
    try {
      Console.println("Nothin");
    } catch {
      case _ => sys.error("Bad, bad, lama!");
    }

  def tryAllAll: Unit =
    try {
      throw new Error();
    } catch {
      case _ => sys.error("Bad, bad, lama!");
    }

  def tryUnitUnit: Unit =
    try {
      Console.println("Nothin");
    } catch {
      case _ => Console.println("Nothin");
    }

  def tryIntUnit: Unit =
    try {
      10;
    } catch {
      case _ => Console.println("Huh?");
    }


  def execute(f: => Unit) = try {
    f;
  } catch {
    case _ => ();
  }


  def main(args:Array[String]): Unit = {
    execute(tryAllUnit);
    execute(tryUnitAll);
    execute(tryAllAll);
    execute(tryUnitUnit);
    execute(tryIntUnit);
 }
}