1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package java.util; 18 19import java.io.Serializable; 20 21/** 22 * An {@code IllegalFormatCodePointException} will be thrown if an invalid 23 * Unicode code point (defined by {@link Character#isValidCodePoint(int)}) is 24 * passed as a parameter to a Formatter. 25 * 26 * @see java.lang.RuntimeException 27 */ 28public class IllegalFormatCodePointException extends IllegalFormatException 29 implements Serializable { 30 private static final long serialVersionUID = 19080630L; 31 32 private int c; 33 34 /** 35 * Constructs a new {@code IllegalFormatCodePointException} which is 36 * specified by the invalid Unicode code point. 37 * 38 * @param c 39 * the invalid Unicode code point. 40 */ 41 public IllegalFormatCodePointException(int c) { 42 this.c = c; 43 } 44 45 /** 46 * Returns the invalid Unicode code point. 47 * 48 * @return the invalid Unicode code point. 49 */ 50 public int getCodePoint() { 51 return c; 52 } 53 54 /** 55 * Returns the message string of the IllegalFormatCodePointException. 56 * 57 * @return the message string of the IllegalFormatCodePointException. 58 */ 59 @Override 60 public String getMessage() { 61 StringBuilder buffer = new StringBuilder(); 62 buffer.append("Code point is "); 63 char[] chars = Character.toChars(c); 64 for (int i = 0; i < chars.length; i++) { 65 buffer.append(chars[i]); 66 } 67 return buffer.toString(); 68 } 69} 70