UnhandledJavaException.java

/**
* Copyright 2010,2021 Nikolas S Boyd.
Permission is granted to copy this work provided this copyright statement is retained in all copies.

*/
package Hoot.Exceptions;

import Hoot.Runtime.Functions.*;
import Hoot.Runtime.Faces.*;
import Hoot.Runtime.Values.*;
import Hoot.Runtime.Blocks.*;
import Smalltalk.Core.*;
import Smalltalk.Blocks.*;
import Smalltalk.Magnitudes.*;
import Hoot.Behaviors.*;
import Hoot.Behaviors.Nil;
import Hoot.Behaviors.Object;
import Hoot.Behaviors.True;
import Hoot.Behaviors.False;
import Hoot.Behaviors.Boolean;
import Hoot.Magnitudes.*;
import Hoot.Magnitudes.Integer;
import Hoot.Magnitudes.Character;
import Hoot.Magnitudes.Float;
import Hoot.Magnitudes.Double;
import Hoot.Collections.*;
import Hoot.Collections.String;
import java.io.*;
import java.lang.Throwable;
import Hoot.Runtime.Exceptions.ExceptionBase;

public class UnhandledJavaException extends ExceptionBase
{

  public static Metaclass type() { return (Metaclass)Metaclass.$class; }
  @Override public Metaclass $class() { return (Metaclass)Metaclass.$class; }
  public static class Metaclass extends ExceptionBase.Metaclass
  {
    static final UnhandledJavaException.Metaclass $class = new UnhandledJavaException.Metaclass();
    public Metaclass() {
      this(UnhandledJavaException.Metaclass.class);
    }

    public Metaclass(java.lang.Class aClass) {
      super(aClass);
    }

    @Override public java.lang.Class outerClass() { return UnhandledJavaException.class; }


    /**
     * @return 
     */
    public   void raise(final Throwable aThrowable)
    {
      java.lang.String exitID = "UnhandledJavaExceptionMetatype>>raise";
      Frame f0 = new Frame(exitID);
      new UnhandledJavaException(aThrowable).raise();
    }
  }


  protected Throwable throwable;

  /**
   * 
   */
  public    UnhandledJavaException(final Throwable aThrowable)
  {
    super(aThrowable.getMessage());
    java.lang.String exitID = "UnhandledJavaException>>UnhandledJavaException";
    Frame f0 = new Frame(exitID);
     throwable = aThrowable;
  }

  /**
   * @return 
   */
  public   void raise()
  {
    java.lang.String exitID = "UnhandledJavaException>>raise";
    Frame f0 = new Frame(exitID);
    throw this;
  }

  /**
   * @return 
   */
  public   Throwable unhandledException()
  {
    java.lang.String exitID = "UnhandledJavaException>>unhandledException";
    Frame f0 = new Frame(exitID);
    return (Throwable)throwable;
  }

  /**
   * @return 
   */
  @Override public   void printStackTrace(final PrintWriter s)
  {
    java.lang.String exitID = "UnhandledJavaException>>printStackTrace";
    Frame f0 = new Frame(exitID);
    throwable.printStackTrace(s);
    super.printStackTrace(s);
  }

  /**
   * @return 
   */
  @Override public   void printStackTrace(final PrintStream s)
  {
    java.lang.String exitID = "UnhandledJavaException>>printStackTrace";
    Frame f0 = new Frame(exitID);
    throwable.printStackTrace(s);
    super.printStackTrace(s);
  }

  /**
   * @return 
   */
  @Override public   void printStackTrace()
  {
    java.lang.String exitID = "UnhandledJavaException>>printStackTrace";
    Frame f0 = new Frame(exitID);
    throwable.printStackTrace();
    super.printStackTrace();
  }
}