正常情况下,是可以打印成功的(连接的是别人的网络打印机),当我把网络断掉的时候,再运行程序,结果就在运行   job.print(doc, pras);时jvm崩溃,这个程序打印的是一张拓扑图,AbstractTopoGraph extends GPGraph;
代码如下:
public void creatPrintTopo(AbstractTopoGraph g) {
    DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
    PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
    PrintService printService[] = PrintServiceLookup
        .lookupPrintServices(flavor, pras);
    PrintService defaultService = PrintServiceLookup
        .lookupDefaultPrintService();
    PrintService service = ServiceUI.printDialog(null, 200, 200,
                                                 printService, defaultService,
                                                 flavor, pras);    if (service != null) {
        try {
      DocPrintJob job = service.createPrintJob();
      DocAttributeSet das = new HashDocAttributeSet();
      Doc doc = new SimpleDoc(g, flavor, das);
        job.print(doc, pras);
      }
      catch (PrintException pe) {
        pe.printStackTrace();      }
    }    else {
      JOptionPane.showConfirmDialog(null,
          "Sorry, Printer Job is Empty, Print Cancelled!", "Empty",
          JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);
    }  }